fn print_iters(iters: &[Iter], config: &mut PrettyPrintConfig) -> String {
    use self::IterKind::*;
    let mut iter_strs = vec![];
    let (less_indent_str, indent_str, newline) = indentation(config);
    for iter in iters {
        match iter.kind {
            NdIter => {
                /* Need to check this first because NdIter also has iter.start */
                iter_strs.push(format!(
                    "{}({},{},{},{})",
                    iter.kind,
                    to_string_impl(iter.data.as_ref(), config),
                    to_string_impl(iter.start.as_ref().unwrap(), config),
                    to_string_impl(iter.shape.as_ref().unwrap(), config),
                    to_string_impl(iter.strides.as_ref().unwrap(), config),
                ));
            }
            _ if iter.start.is_some() => {
                iter_strs.push(format!(
                    "{}({},{},{},{})",
                    iter.kind,
                    to_string_impl(iter.data.as_ref(), config),
                    to_string_impl(iter.start.as_ref().unwrap(), config),
                    to_string_impl(iter.end.as_ref().unwrap(), config),
                    to_string_impl(iter.stride.as_ref().unwrap(), config)
                ));
            }
            ScalarIter => {
                // don't print the Iter for ScalarIter for conciseness.
                iter_strs.push(to_string_impl(iter.data.as_ref(), config));
            }
            _ => {
                iter_strs.push(format!(
                    "{}({})",
                    iter.kind,
                    to_string_impl(iter.data.as_ref(), config)
                ));
            }
        }
    }

    if iters.len() > 1 {
        format!(
            "zip({}{}{}{}{})",
            newline,
            iter_strs.join(&format!(",{}{}", newline, indent_str)),
            indent_str,
            newline,
            less_indent_str
        )
    } else {
        iter_strs[0].clone()
    }
}
Prints a list of iterators for a For loop.
weld/src/ast/pretty_print.rs