[Haskell-cafe] Generalizing takeWhile