The allocator is a singleton, so no need to pass it in to the constructor
Non-singleton allocator, must be passed in
Gets the owned pointer. Use with caution.
"Truthiness" cast
Releases ownership and transfers it to the returned Unique object.
See Implementation