adding optional res to handler, so that dependents like asyncreduce know that extra args get handled