pub fn general_bitxor<T1, T2, T3>(l: T1, r: T2) -> T3where T1: Into<T3> + Debug, T2: Into<T3> + Debug, T3: BitXor<Output = T3>,