Data.Map
insertWith'
insertWithKey'
insertLookupWithKey'
fold
foldWithKey