The allocator is global, 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.
Factory method so can construct with zero args.
Factory method. Not necessary with non-global allocator but included for symmetry.
See Implementation