Refactored to promote meta over the concept of core type.