In contrast , hash tables provide an imperative interface in the IO monad .
Lists of pairs and functional maps both provide a purely functional interface , which is more idiomatic in Haskell .
Hash tables provide an imperative interface in the IO monad .
Lists of pairs and functional maps both provide a purely functional interface , which is more idiomatic in Haskell .