func SupplierWithPrependedArgs(s CmderSupplier, argsFunc func(cmd Cmd) []string) CmderSupplier {
	return func(cmd Cmd) (Cmder, error) {
		r, err := s(cmd)
		if err != nil {
			return nil, err
		}
		return CmderWithPrependedArgs(r, argsFunc(cmd)...), nil
	}
}
func SupplierWithPrependedArgs(s CmderSupplier, argsFunc func(cmd Cmd) []string) CmderSupplier {
	return func(cmd Cmd) (Cmder, error) {
		r, err := s(cmd)
		if err != nil {
			return nil, err
		}
		return CmderWithPrependedArgs(r, argsFunc(cmd)...), nil
	}
}
// SupplierWithPrependedArgs returns a new Supplier that invokes the provided supplier and returns the result of calling
// RunnerWithPrependedArgs on the returned runner with the result of applying the provided "argsFunc" function to the
// provided command.