We need to make sure our error conversions are sane so that arbitrary types don't get converted into unrelated errors accidentally.
In payjoin-ffi, currently any arbitrary String can be converted to an ImplementationError. Maybe we should just use anyhow::Error?
See discussion in LtbLightning/payjoin-ffi#71 (comment)