fix the types to have a hierarchy and to better align with the Perl 6 world