@witty-crayon-22786 had a brief play with async/await last night. Definitely promising, but have a ways to go. I'm particular, async functions currently aren't allowed to take any references as params, including &self, which means we can't escape all of that bonus cloning (though we can probably do it closer to the relevant call sites), and I ended up having to pull out separate static functions everywhere