[Haskell-cafe] Confusing performance variation while optimising a tight loop