Useful for creating types that are stored as other types (usually primitives) but are represented as distinct in the type system. Canonical example exists in documentation.