Moved singleton type type-macros to a separate object/macro module.
Singleton type constructor now generic with base type inferrable.
Added witnessing of boxed singleton types.
Removed redundant implicit.
Renamed Singleton to ^.