@inthehands it's *surprisingly* hard to get it to stop doing it for return values from @\objc methods!
I've even resorted to lying about the return type and returning an Unmanaged<Foo> instead, since ObjC doesn't care as long as the representation is just a pointer.
Not aware of any situations where it will other than that one though.