Fish Wang says to YSITD
for (let i = 0; i < x; i++) { doWith(i) } 等同 const curr(i = 0, x)=> i < x? (doWith(i), curr(i + i, x): null