Low level stm datastructure which can be used to efficiently implement other datastructures like Map/Set on top.
Based on http://lampwww.epfl.ch/papers/idealhashtrees.pdf and https://hackage.haskell.org/package/stm-hamt.