The Apple runtime has the following methods for instantiating and destroying an instance of a class at an already-allocated memory location.
id objc_constructInstance(Class cls, void *bytes); (This mirrors class_createinstance)
void * objc_destructInstance(id obj);
These are unimplemented in the GNUstep runtime and are used in Swift at the following locations:
https://github.com/apple/swift/blob/01823ca52138a9844e84ee7e8efba13970e1e25d/stdlib/public/runtime/SwiftValue.mm#L191
https://github.com/apple/swift/blob/01823ca52138a9844e84ee7e8efba13970e1e25d/stdlib/public/runtime/SwiftValue.mm#L285