+ reduce func args