mc_oblivious_traits
pub fn cswap<T>(condition: Choice, a: &mut T, b: &mut T) where T: CMov + Default,