macro_rules! e_from {
    (f) => { ... };
    (()) => { ... };
    (*) => { ... };
    (?) => { ... };
    (Failure) => { ... };
    (Empty) => { ... };
    (All) => { ... };
    (Any($len:literal)) => { ... };
    ($v:path) => { ... };
    ($o:block) => { ... };
}