range = function (start, end) { return {[Symbol.iterator]: () => from_to(start,end)} }; for (const i of range(0,3)) print (i); for (const elt of [1,3,5]) print (elt);
Output