Generic types
4
polymorphic types
-- due to inheritance
parametrized types
-- corresponding to template classes