class BCDD::Result class Error < StandardError def self.build: (**untyped) -> BCDD::Result::Error class NotImplemented < BCDD::Result::Error end class MissingTypeArgument < BCDD::Result::Error end class UnexpectedOutcome < BCDD::Result::Error def self.build: (outcome: untyped, origin: Symbol, ?expected: String) -> BCDD::Result::Error::UnexpectedOutcome end class InvalidResultSubject < BCDD::Result::Error def self.build: (given_result: BCDD::Result, expected_subject: untyped) -> BCDD::Result::Error::InvalidResultSubject end class InvalidSubjectMethodArity < BCDD::Result::Error def self.build: (subject: untyped, method: Method, max_arity: Integer) -> BCDD::Result::Error::InvalidSubjectMethodArity end class UnhandledTypes < BCDD::Result::Error def self.build: (types: Set[Symbol]) -> BCDD::Result::Error::UnhandledTypes end end end