pub fn tt_switch<I: Iterator<Item = FlatItem>>(
    params: Expr,
    it: &mut I
) -> Result<TreeItem>