type termlist … var allTermlist … // String prints the termlist exactly (without normalization). func (xl termlist) String() string { … } // isEmpty reports whether the termlist xl represents the empty set of types. func (xl termlist) isEmpty() bool { … } // isAll reports whether the termlist xl represents the set of all types. func (xl termlist) isAll() bool { … } // norm returns the normal form of xl. func (xl termlist) norm() termlist { … } // union returns the union xl ∪ yl. func (xl termlist) union(yl termlist) termlist { … } // intersect returns the intersection xl ∩ yl. func (xl termlist) intersect(yl termlist) termlist { … } // equal reports whether xl and yl represent the same type set. func (xl termlist) equal(yl termlist) bool { … } // includes reports whether t ∈ xl. func (xl termlist) includes(t types.Type) bool { … } // supersetOf reports whether y ⊆ xl. func (xl termlist) supersetOf(y *term) bool { … } // subsetOf reports whether xl ⊆ yl. func (xl termlist) subsetOf(yl termlist) bool { … }