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());