To improve ergonomics of PanicException introduced in #797, we would ideally restore the original panic payload with panic::resume_unwind.
This isn't trivial to do as far as I can tell - ideally I'd make PanicException a proper #[pyclass] and then we could store the Box<dyn Any + Send + 'static> payload inside it.
In the interest of getting #797 completed to unblock other work, I decided to open this as a separate issue for the future.