module T
def self.all(type_a, type_b, *types); end
def self.all(type_a, type_b, *types); end
def self.any(type_a, type_b, *types); end
def self.any(type_a, type_b, *types); end
def self.assert_type!(value, type, checked: true); value; end
def self.assert_type!(value, type, checked: true); value; end
def self.cast(value, type, checked: true); value; end
def self.cast(value, type, checked: true); value; end
def self.class_of(klass); end
def self.class_of(klass); end
def self.enum(values); end
def self.enum(values); end
def self.let(value, type, checked: true); value; end
def self.let(value, type, checked: true); value; end
def self.must(arg, msg=nil); arg; end
def self.must(arg, msg=nil); arg; end
def self.nilable(type); end
def self.nilable(type); end
def self.noreturn; end
def self.noreturn; end
def self.proc; end
def self.proc; end
def self.reveal_type(value); value; end
def self.reveal_type(value); value; end
def self.self_type; end
def self.self_type; end
def self.type_alias(type=nil, &blk); end
def self.type_alias(type=nil, &blk); end
def self.type_parameter(name); end
def self.type_parameter(name); end
def self.unsafe(value); value; end
def self.unsafe(value); value; end
def self.untyped; end
def self.untyped; end