fix monad laws