Versioning concerns
await-generator is guaranteed to be shade-compatible, backward-compatible and partly forward-compatible.
Await-generator uses generator objects for communication.
The values passed through generators (such as Await::ONCE)
are constant strings that are guaranteed to remain unchanged within a major version.
Therefore, multiple shaded versions of await-generator can be used together.
New constants may be added over minor versions. Older versions will crash when they receive constants from newer versions.
Only Await::f2c/Await::g2c loads await-generator code.
Functions that merely yield values from the Await class
will not affect the execution logic.
Therefore, the version of await-generator
on which Await::f2c/Await::g2c is called
determines the highest version to use.
(For those who do not use virion framework and are confused: await-generator is versioned just like the normal semver for you.)