This package is intended to reward you with some functions, should you decide to implement an enumeration over the values of a given type.
Custom types have limited semantics in Elm. You can't, for example, get a list of each value without implementing it yourself.
module Example exposing (N, everyN) import Enumerable exposing (Enumerable) type N = One | Two | Three -- [ One, Two, Three ] everyN : List N everyN = Enumerable.toList enumerable One -- this one forms a loop using a pattern-match, which is usually what you want. enumerable : Enumerable N enumerable n = case n of One -> Two Two -> Three Three -> One