Add support for type/data families

This adds support for type/data families with their respective
instances, as well as closed type families and associated type/data
families.