pub fn opt_multiply<S: Sized + Mul<T, Output = S>, T: Sized>( a: Option<S>, b: Option<T>, ) -> Option<S>