This module implements a variety of type constructors, i.e., templates that allow construction of new, useful general-purpose types.
Constructor that takes an rvalue. It will ensure uniqueness, as long as the rvalue isn't just a view on an lvalue (e.g., a cast). Typical usage:
Forwards member access to contents.
Transfer ownership to a Unique rvalue. Nullifies the current contents. Same as calling std.algorithm.move on it.
Transfer ownership from a Unique of a type that is convertible to our type.
Represents a reference to T. Resolves to T* if T is a value type.
Postblit operator is undefined to prevent the cloning of Unique objects.