The type system is based on many-sorted logic, and supports polymorphism, type classes (see Type classes), and existentially quantified types (see Existential types).
| • Builtin types: | ||
| • User-defined types: | ||
| • Predicate and function type declarations: | ||
| • Field access functions: | ||
| • The standard ordering: |