Split the syntax of the type system into first-class and second-class types