pub trait CheckedCast<T> { type Error; // Required method fn checked_cast(self) -> Result<T, Self::Error>; }