func (x *term) equal(y *term) bool {
	// easy cases
	switch {
	case x == nil || y == nil:
		return x == y
	case x.typ == nil || y.typ == nil:
		return x.typ == y.typ
	}
	// ∅ ⊂ x, y ⊂ 𝓤

	return x.tilde == y.tilde && Identical(x.typ, y.typ)
}
// equal reports whether x and y represent the same type set.
equal reports whether x and y represent the same type set.
// equal reports whether x and y represent the same type set .
func (x *term) equal(y *term) bool {
	switch {
	case x == nil || y == nil:
		return x == y
	case x.typ == nil || y.typ == nil:
		return x.typ == y.typ
	}
	return x.tilde == y.tilde && Identical(x.typ, y.typ)
}
func ( x * term ) equal ( y * term ) bool { switch { case x == nil || y == nil : return x == y case x . typ == nil || y . typ == nil : return x . typ == y . typ } return x . tilde == y . tilde && Identical ( x . typ , y . typ ) }
equal reports whether x and y represent the same type set.
equal reports whether x and y represent the same type set .
// easy cases // ∅ ⊂ x, y ⊂ 𝓤