Rework management of context function types.
Add experimental support for async generators.