code: func (r *Result) Infos() ([]*Info, error) {
  	if r.err != nil {
  		return nil, r.err
  	}
  	if r.info != nil {
  		return r.info, nil
  	}
  
  	infos := []*Info{}
  	err := r.visitor.Visit(func(info *Info, err error) error {
  		if err != nil {
  			return err
  		}
  		infos = append(infos, info)
  		return nil
  	})
  	err = utilerrors.FilterOut(err, r.ignoreErrors...)
  
  	r.info, r.err = infos, err
  	return infos, err
  }
docs: // Infos returns an array of all of the resource infos retrieved via traversal.
  // Will attempt to traverse the entire set of visitors only once, and will return
  // a cached list on subsequent calls.