class Steep::Interface::Block
def ==(other)
def ==(other) other.is_a?(self.class) && other.params == params && other.return_type == return_type end
def closed?
def closed? params.closed? && return_type.closed? end
def free_variables
def free_variables params.free_variables + return_type.free_variables end
def initialize(params:, return_type:)
def initialize(params:, return_type:) @params = params @return_type = return_type end
def subst(s)
def subst(s) self.class.new( params: params.subst(s), return_type: return_type.subst(s) ) end
def to_s
def to_s "{ #{params} -> #{return_type} }" end