Our current build process means that we have to avoid using async/await in our actual source because it can cause regeneratorRuntime errors that, honestly, we don't fully understand.
It's led to insanity like #308 - which, while clever, leads to a terrible developer UX for contributors.