The allocator is global, so no need to pass it in to the constructor
Non-singleton allocator, must be passed in
Borrow the owned pointer. Can be @safe with DIP1000 and if used in a scope fashion.
Move from another smart pointer
"Truthiness" cast
release ownership
Releases ownership and transfers it to the returned Unique object.
A unique pointer similar to C++'s std::unique_ptr.