They’ve improved some of the things, but the ergonomics of “I have an UnsafeXPointer and I want an UnsafeYPointer” could be significantly improved. Plus, Swift really needs better documentation as to how aliasing works when external code captures a pointer and reinterprets it. My current understand is that it’s far more lenient than what C allows (basically exposing LLVM’s model directly) but this isn’t really documented anywhere that I could find.