macro_rules! approx_eq { ($typ:ty, $lhs:expr, $rhs:expr) => { ... }; ($typ:ty, $lhs:expr, $rhs:expr $(, $set:ident = $val:expr)*) => { ... }; ($typ:ty, $lhs:expr, $rhs:expr, $marg:expr) => { ... }; }