Type constructors

Just as values are built using data constructors, types are built fromtype constructors.Nullary type constructors likeNat,Int,Floatare already types, but other type constructors likeListand->(seebuilt-in type constructors)take type parameters in order to yield types.Listis a unary type constructor, so it takes one type (the type of the list elements), and->is a binary type constructor.List Natis a type andNat -> Intis a type.