macro_rules! atom {
($name:ident ($($sname:ident $val:expr),*)) => { ... };
(@$name:ident ($($sname:ident $val:expr),*)) => { ... };
(boolean $val:expr) => { ... };
(integer $val:expr) => { ... };
(uuid $val:expr) => { ... };
(string $val:expr) => { ... };
(term $val:expr) => { ... };
}