This package wraps 'IntSet' and 'IntMap' from 'containers', and provides fast
sets and maps keyed on any data type with a well-behaved 'Enum' instance.
Useful for derived 'Enum's, newtype'd 'Int's, or any data type that can be
packed into an 'Int': just implement 'fromEnum' and 'toEnum'.
The boilerplate is generated using Template Haskell, so unlike 'enummapset'
it's easier to maintain and keep up-to-date with 'containers'. On the downside,
it's less portable.
Note that "Data.EnumMap.Lazy" and "Data.EnumMap.Strict" provide distinct
newtype wrappers, and their respective 'Functor' instances behave as expected,
unlike that of 'IntMap' which is alway lazy.