Boa, a ideia de usar callbacks real ajuda mt, usei bastante pra compor a minha solução aki:

F = (s, e, T=(i)=>i, C=(i,e)=>i>=e, A=(i)=>++i) =>
	C(s, e) ? [] : [T(s), ...F(A(s), e, T, C, A)];

console.log(F(0,5));
console.log(F(100, 0, (i)=>i**2, (i,e)=>i<=e, (i)=>i-10));

Eu dei mais detalhes no outro comentário ali, é massa q chegamos em soluções parecidas em essência. O meme eh q a minha devolve um array no final, o que não eh mt necessário. Good job maninho(a)! :muscle: