macro_rules! define_function {
($func_key:ident => {
name: $fn_name:expr,
documentation: $doc:expr,
example: $example:expr,
inputs: [$($input_name:ident: { documentation: $input_doc:expr, typing: $input_ts:expr $(, optional: $input_opt:expr)? }),*],
output: { documentation: $output_doc:expr, typing: $output_ts:expr },
}) => { ... };
}