Creating new types

One of the ways that individual programmers can extend the language is to create new types.

When creating a new type, the user must define: