pub fn raw_cast<S: Synth, T: Synth + From<S>>(x: S) -> T