public override void DoUnify(TupleType var, Substitution substitution) { if (Arguments.Count != var.Arguments.Count) { throw TypeException.Create(this.Perform(substitution), var.Perform(substitution)); } for (var i = 0; i < Arguments.Count; ++i) { Arguments[i].Perform(substitution).Unify(var.Arguments[i].Perform(substitution), substitution); } }
public virtual void DoUnify(Type that, Substitution substitution) { throw TypeException.Create(Perform(substitution), that.Perform(substitution)); }