code: func (f *fieldLookup) VisitKind(k *proto.Kind) {
  	if f.SaveLeafSchema(k) {
  		return
  	}
  
  	subSchema, ok := k.Fields[f.Path[0]]
  	if !ok {
  		f.Error = fmt.Errorf("field %q does not exist", f.Path[0])
  		return
  	}
  
  	f.Path = f.Path[1:]
  	subSchema.Accept(f)
  }
docs: // VisitKind unstacks fields as it finds them.