Currently the De/Encode trait cannot be used as trait object as all due to use of generics in its API.
I propose we could add where Self: Sizedto the existing generic, and then add a non-generic, dyn-safe version of these methods.
The generic would then have default implementation that forwards to new dyn-safe version, which would need #385 as well