type edgeHolder … type sliceEdgeHolder … func (e *sliceEdgeHolder) Visit(visitor func(neighbor int, edge graph.Edge)) { … } func (e *sliceEdgeHolder) Delete(neighbor int) edgeHolder { … } func (e *sliceEdgeHolder) Set(neighbor int, newEdge graph.Edge) edgeHolder { … } func (e *sliceEdgeHolder) Get(neighbor int) (graph.Edge, bool) { … } func (e *sliceEdgeHolder) Len() int { … } type mapEdgeHolder … func (e mapEdgeHolder) Visit(visitor func(neighbor int, edge graph.Edge)) { … } func (e mapEdgeHolder) Delete(neighbor int) edgeHolder { … } func (e mapEdgeHolder) Set(neighbor int, edge graph.Edge) edgeHolder { … } func (e mapEdgeHolder) Get(neighbor int) (graph.Edge, bool) { … } func (e mapEdgeHolder) Len() int { … }