def compose(other, *args)
      outcome = other.run(*args)

      raise Interrupt, outcome.errors if outcome.invalid?

      outcome.result
    end
def compose(other, *args)
      outcome = other.run(*args)

      raise Interrupt, outcome.errors if outcome.invalid?

      outcome.result
    end
@param other [Class] The other interaction.
 @param (see ClassMethods.run)

 @return (see #result)

 @raise [Interrupt]