We can't land this as-is and introduce even more non-determinism into our tests.  That said, it looks to me like it shouldn't be hard to fix this: instead of having the callee push messages somewhere and analyze them later, simply have the callee inspect messages as they arrive, and, if the message is in the correct sequence and appropriately typed, put the expect() calls there.