macro_rules! opt_filter {
    ($e:expr, |$param:pat| $v:expr $(,)?) => { ... };
    ($opt:expr, | $($anything:tt)* ) => { ... };
    ($e:expr, $function:path $(,)?) => { ... };
}