cast trait
```rust use cast_trait::Cast;
fn cast(a: A) -> B where A: Cast, { a.cast() }
asserteq!(cast::(10i32), 10_f32); ```