Как насчет использования свойства замыкания?
const adder = (sum = 0) =>
() => ++sum
const a = adder()
const b = adder()
console.log(a(), a(), a()) // 1 2 3
console.log(b(), b(), b()) // 1 2 3
console.log(a(), a(), a()) // 4 5 6
console.log(b(), b(), b()) // 4 5 6
Или дать сумматору параметр -
const adder = (sum = 0) =>
(n = 1) => sum += n
const a = adder()
const b = adder()
console.log(a(10), a(10), a(10)) // 10 20 30
console.log(b(), b(), b()) // 1 2 3
console.log(a(), a(), a()) // 31 32 33
console.log(b(), b(), b()) // 4 5 6