Macro contextual

Source
macro_rules! contextual {
    {$($visibility:vis $interface_name:ident($context_name:ident) : $data_type:ty = $initial_value:expr;)+} => { ... };
    ($visibility:vis $interface_name:ident($context_name:ident) : $data_type:ty = $initial_value:expr) => { ... };
}