All useful abstractions are going to have unsafe
in them at some level. All of the standard collections APIs are built on UnsafePointers under the hood. All IO is based on unsafe operations. Not being able to call unsafe functions is limiting to the point where it's almost useless. Any safety gained by not being able to call unsafe functions is wasted by the fact that you can only use it on trivial leaf functions that would be completely safe regardless.
1 Like