JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-polyfill/6.13.0/polyfill.js"></script>
Babel + JSX
console.clear();
const List = {
*unit(iterable) {
yield* iterable;
},
*bind(fn) {
for (let x of this) {
yield fn(x);
}
}
};
const m = List.unit([1, 2, 3])::List.bind(x => x + 1)::List.bind(x => x + 1);
console.info(m.next());
console.info(m.next());
console.info(m.next());
console.info(m.next());