Complete restructuring of the way types are represented.