iota is a constant generator that can be used to construct enums. It is effectively an infinite list that starts at 0 that can be used to produce a value for a set of constants.