Rust traits to define safe casting between types.
Example usage: ```rust struct Foo { a: i32, }
struct Bar { b: u32, }
struct Baz { bar: Bar, }
impl CastFrom
impl TryCastFrom
fn opt_cast_from(bar: Bar) -> Option<Self> {
if bar.b == 0 {
Some(Self { bar })
} else {
None
}
}
}
```