monads rule