[Haskell-cafe] Optimizing nearest-k code