feel:number
append( list, n )
if n + 1 > limit then
new list
else
f( n+1, limit, new list )
function( n, limit, list ) {
new list : append( list, n ),
result : if n + 1 > limit then
new list
else
g( n+1, limit, new list )
}.result
if n + 1 > limit then
append( list, n )
else
h( n+1, limit, append( list, n ) )
[ f( 1, 3, []), g( 1, 3, []), h( 1, 3, []) ]