Type constructor (source code)

= Type constructor
{wiki}

A type-level constructor accepting the number and kinds of <type arguments> specified by its <kind of a type>. For example, `Tree` accepts one ordinary type and produces `Tree a`; it has kind `* -> *`. A <data constructor> such as `One` operates at the value level instead. The two levels can use separate namespaces in a <programming language>.