type NameBackReferences … func (n NameBackReferences) String() string { … } type nbrSlice … func (s nbrSlice) Len() int { … } func (s nbrSlice) Swap(i, j int) { … } func (s nbrSlice) Less(i, j int) bool { … } // DeepCopy returns a new copy of nbrSlice func (s nbrSlice) DeepCopy() nbrSlice { … } func (s nbrSlice) mergeAll(o nbrSlice) (result nbrSlice, err error) { … } func (s nbrSlice) mergeOne(other NameBackReferences) (nbrSlice, error) { … }