code: func chain(funcs ...actionFunc) func(*cli.Context) error {
  	return wrap(func(ctx *cli.Context) error {
  
  		for _, f := range funcs {
  			err := f(ctx)
  			if err != nil {
  				return err
  			}
  		}
  
  		return nil
  	})
  }
docs: // chain allows easy sequential calling of BeforeFuncs and AfterFuncs.
  // chain will exit on the first error seen.