type heap … func (h *heap) push(s loader.Sym) { … } func (h *heap) pop() loader.Sym { … } func (h *heap) empty() bool { … } type lexHeap … func (h *lexHeap) push(ldr *loader.Loader, s loader.Sym) { … } func (h *lexHeap) pop(ldr *loader.Loader) loader.Sym { … } func (h *lexHeap) empty() bool { … }