internal type Canonicalize(type type) { return(new type(from c in type.Constraints select Canonicalize(c), Canonicalize(type.Term))); }
protected bool Equals(type other) { return(_constraints.SequenceEqual(other._constraints) && Term.Equals(other.Term)); }