[Haskell-cafe] Type constraint with RankNTypes gradually slows down function?