macro_rules! cryptol {
(
path $path:expr;
$(#[$attr:meta])*
$pub_:vis fn $name:ident
( $($arg_name:ident : $arg_ty:ty),* )
$( -> $ret_ty:ty )?
$(= $cryptol_name:expr)? ;
$($rest:tt)*
) => { ... };
(
path $path:expr;
$(#[$attr:meta])*
$pub_:vis fn $name:ident
< $(const $N:ident: $N_ty:ty),* >
( $($arg_name:ident : $arg_ty:ty),* )
$( -> $ret_ty:ty )?
= $cryptol_name:expr ;
$($rest:tt)*
) => { ... };
(
path $path:expr;
) => { ... };
}