macro_rules! impl_gcd_unsigned_lhs { ($slf:ty, [$($rhs:ty),+]) => { ... }; ($slf:ty, $rhs:ty, $out:ty) => { ... }; }