In Real World Haskell, there is a section titled \"Life without arrays or hash tables\" where the authors suggest that list and trees are preferred in functional programming, w
Data.Map
does; also, Edison has quite a few lazy/functional-friendly data structures.