macro_rules! atomic {
    (@check, $t:ty, $atomic:ty, $a:ident, $atomic_op:expr) => { ... };
    ($t:ty, $a:ident, $atomic_op:expr, $fallback_op:expr) => { ... };
}