type ListedPathProvider … type ListedPathProviders … // ListedPaths unions and sorts the included paths. func (p ListedPathProviders) ListedPaths() []string { … } type Index … // Install adds the Index webservice to the given mux. func (i Index) Install(pathProvider ListedPathProvider, mux *mux.PathRecorderMux) { … } type IndexLister … // ServeHTTP serves the available paths. func (i IndexLister) ServeHTTP(w http.ResponseWriter, r *http.Request) { … }