# Lightweight, efficiently indexable enumerations This package defines a type of *enumerations*, along with combinators for building and manipulating them. An enumeration is a finite or countably infinite sequence of values, represented as a function from an index to a value. Hence it is possible to work with even very large finite sets. Enumerations also naturally support (uniform) random sampling. Note the goal of this package is *not* to enumerate values of Haskell types; there already exist many other packages to do that. Rather, the goal is simply to provide an abstract framework for working with enumerations of any values at all.