Added AccumulationTraits to the function templates