macro_rules! delegate {
( $prefix:path : $(
$(#[$attr: meta])*
$(unsafe $($placeholder: lifetime)?)?
fn $func: ident $(<$(const $generic: ident: $generic_ty: ty),* $(,)?>)?(
$($arg: ident: $ty: ty),* $(,)?
) $(-> $ret: ty)?;
)*) => { ... };
}