class Either::Monad::Wrapper < Kind::Monad::Wrapper
    def left(matcher = UNDEFINED)
      return if @monad.right? || output?

      @output = yield(@monad.value) if @monad.either?(matcher)