This package provides three useful generalizations:
'class Functor f => FunctorWithIndex i f | f -> i' (imap)
'class Foldable f => FoldableWithIndex i f | f -> i' (ifoldMap)
'class (FunctorWithIndex i t, FoldableWithIndex i t, Traversable t) =>
TraversableWithIndex i t | t -> i' (itraverse)
This package contains instances for types in GHC boot libraries.
For some additional instances see indexed-traversable-instances.
The keys package provides similar functionality,
but uses (associated) 'TypeFamilies' instead of 'FunctionalDependencies'.