[Haskell-cafe] amortized time and space for set operations