code: func (v DecoratedVisitor) Visit(fn VisitorFunc) error {
  	return v.visitor.Visit(func(info *Info, err error) error {
  		if err != nil {
  			return err
  		}
  		for i := range v.decorators {
  			if err := v.decorators[i](info, nil); err != nil {
  				return err
  			}
  		}
  		return fn(info, nil)
  	})
  }
docs: // Visit implements Visitor