We think we've experienced exception de-serialization errors receiving `ErrorSessionMessage`. Seems completely plausible. The ability to deserialize that message should not be jeopardised by the actual exception type (which could be anything in the cause chain).
We should consider wrapping it in `SerializedBytes` like we do other application level payloads. The bigger challenge is how to introduce and migrate to it. New optional field on the message, potentially, and we stop setting the old exception field at some level of minimum platform version.
Needs lots of behave testing.