macro_rules! define_symbols {
(
$(
$(#[no_error $(@ $no_error:tt)?])?
$(#[optional $(@ $optional:tt)?])?
$(unsafe $(@ $unsafe:tt)?)? fn $name:ident($($arg:ident: $t:ty),* $(,)?) -> $ret:ty {}
)*
) => { ... };
}