Specialize branched loops

Continuation of PR #469 inside the main repo.
All of these handlers make a vector of the child nodes... we have a function "vec<T>(...)" that I think you could use to replace a lot of these boilerplate snippets. e.g.:

    branch_children(op, vec<StmtOrExpr>(op->a, op->b));

Should work.