One of my main reasons for rejecting Rust libraries has become questionable ownership models. If you talk about an object that contains all the other things and I pass around handles to the things inside of it instead of owning the things myself and passing around borrowed references I am turning around and running the other way. (Because that means you have just reinvented unchecked pointers, is this not obvious?)