This is a proposal to move AutoreleasingUnsafeMutablePointer from StdlibCore to the Objective C overlay. The reason to do this is that ideally StdlibCore would not have any code specific to ObjC in it. This is a small step that we can take in this direction by moving the public API of AutoreleasingUnsafeMutablePointer to the ObjC overlay. The way that this would be done is that the implementation for AutoreleasingUnsafeMutablePointer would remain in StdlibCore, but we would add an underscore to make that API private to the standard library. Then inside the ObjC overlay, we would create a typealias to the internal API with the non-underscored name (i.e. make the typealias the public API). Then at a later point in time we can move the implementation. The reason why I am not proposing to move the implementation today is that there are dependencies in Array/Hashed Collections on AutoreleasingUnsafeMutablePointer. Moving that code is a larger project that is preconditioned on this proposal going in first as an incremental step.
Thoughts, flames, etc?