type Orderer … // OrderUniverse assigns a name to every type in the Universe, including Types, // Functions and Variables, and returns a list sorted by those names. func (o *Orderer) OrderUniverse(u types.Universe) []*types.Type { … } // OrderTypes assigns a name to every type, and returns a list sorted by those // names. func (o *Orderer) OrderTypes(typeList []*types.Type) []*types.Type { … } type tList … func (t tList) Len() int { … } func (t tList) Less(i, j int) bool { … } func (t tList) Swap(i, j int) { … }