code: func (al *Apps) Walk(f func(*App) error) error {
  	for i := range al.apps {
  		// XXX(vc): note we supply f() with a pointer to the app instance in al.apps to enable modification by f()
  		if err := f(&al.apps[i]); err != nil {
  			return err
  		}
  	}
  	return nil
  }
docs: // Walk iterates on al.apps calling f for each app
  // walking stops if f returns an error, the error is simply returned