types) and just one field (which are technically not a product).
\stopdesc
\startdesc{Enumerated types}
+ \defref{enumerated types}
An enumerated type is an algebraic datatype with multiple constructors, but
none of them have fields. This is essentially a way to get an
enum-like type containing alternatives.
variables are used by a function can be completely determined from its
type signature (as opposed to the stream approach, where a function
looks the same from the outside, regardless of what state variables it
- uses (or whether it's stateful at all).
+ uses or whether it's stateful at all).
This approach is the one chosen for Cλash and will be examined more
closely below.