[Haskell-cafe] lazy data structure for best-first search