convute::convert
pub unsafe fn cast_val<A, B>(val: A) -> B
Work around transmute not knowing sizes of type parameters in trait impls.