# File lib/support.rb, line 130 def unify_components(other) raise TypeError, "Unable to unify: different number of args #{self.inspect} vs #{other.inspect}" unless @formal_types.length == other.formal_types.length @formal_types.each_with_index do |t, i| t.unify other.formal_types[i] end @receiver_type.unify other.receiver_type @return_type.unify other.return_type # rescue RuntimeError # print more complete warning message # raise "Unable to unify\n#{self}\nwith\n#{other}" end