code: function generateForever(f, init = null) {
    return function *_generateForever() {
      var args = yield init;
      while (true) args = yield f.apply(0, args);
    };
  }
docs: Make a generator which calls a function over and over. Each iteration's arguments are the parameters passed to `iterate.next()`.