Retornar uma função que soma

Dado um inteiro n, retorne um objeto que represente uma função que some n ao inteiro que ela receber.

Exemplos

Program.add(10).applyAsInt(20) ➞ 30

Program.add(0).applyAsInt(20) ➞ 20

Program.add(-30).applyAsInt(80) ➞ 50

Observações

Retornar uma função é essencial para entender funções de ordem superior e closures.