A type property defines either a key or an extent, or an alignment value.
type_property := key_spec | extent_spec | alignment_spec | context_class