Required methods

This function consumes ownership of the specified file
descriptor. The returned object will take responsibility for closing
it when the object goes out of scope.

This function is also unsafe as the primitives currently returned
have the contract that they are the sole owner of the file
descriptor they are wrapping. Usage of this function could
accidentally allow violating this contract which can cause memory
unsafety in code that relies on it being true.