code: func (f *recursiveFieldsPrinter) VisitReference(r proto.Reference) {
  	if _, ok := visitedReferences[r.Reference()]; ok {
  		return
  	}
  	visitedReferences[r.Reference()] = struct{}{}
  	r.SubSchema().Accept(f)
  	delete(visitedReferences, r.Reference())
  }
docs: // VisitReference is just a passthrough.