An implementation of persistent Map and Set containers
based on hashing. The implementation is build on
top of Data.IntMap.IntMap and Data.IntSet.IntSet,
with very similar API. It uses Hashable class from the
hashable package for hashing.
This package can be used as a drop-in replacement for
Data.Map and Data.Set modules.
The Map key value is an Data.IntMap.IntMap
indexed by the hash value, containing either one (key, value)
or a Data.Map.Map key value for all keys with the same hash value.
The Set elem is an Data.IntMap.IntMap indexed by
the hash value, containing either one elem or Data.Set.Set elem for
all elements with the same hash value.