Sophisticated and functionally-minded async with advanced features: coroutines, promises, ES2015 iterables, fantasy-land