A trait for types that can be registered as aliases.
Users shouldn’t usually need to impl this - a blanket impl is provided
for all types that impl
Registers this type as a type alias.
Note that this should not be used on types which have
derived on them - it’s only really meant for use on actual rust type