[Haskell-cafe] reordering pure bindings in monads