Accumulator factory

Создайте функцию, которая принимает один (числовой) аргумент и возвращает другую функцию, которая является аккумулятором. Возвращенная функция аккумулятора, в свою очередь, также принимает один числовой аргумент и возвращает сумму всех числовых значений, переданных до этого аккумулятора (включая начальное значение, переданное при создании аккумулятора).

Правила:

Не используйте глобальные переменные.

Подсказка:

Закрытие сохраняет внешнее состояние.

Create a function that takes a number $n$ and generates accumulator functions that return the sum of every number ever passed to them.

Rules:

Do not use global variables.

Hint:

Closures save outer state.