macro_rules! pipe_line {
    (($next_in:expr,$handles:expr) ; $($rest:tt)*) => { ... };
    (($next_in:expr,$handles:expr,$psz:expr) ; $($rest:tt)*) => { ... };
    (($n:expr,$f:ident,$next_in:ident,$psz:expr) $cmd:ident $cmd_nm:literal $($x:expr)* ; $($rest:tt)*) => { ... };
    (($n:expr,$f:ident,$next_in:ident,$psz:expr) $cmd:ident $cmd_nm:literal $($x:expr)* ;) => { ... };
    (($n:expr,$f:ident,$next_in:ident,$psz:expr)) => { ... };
}