Refactored TypeHierarchy, added canonical morphisms