implement DelayedReducer and untemplate reduce