pub trait FromPly<E>: Sized { fn from_ply(decoder: E, read: impl Read) -> Result<(Self, Ply), PlyError>; }