Fwiw i rarely allocate around these "issues" and i use all async. I think your comment could be tweaked to say:
> In rust the unspoken rule seems to be to allocate, allocate, allocate when you run into a lifetime issue
Lifetimes work fine with async, but some types of lifetimes can be problematic, for sure.