Stay closer to haskell binding semantics