monad reduction.