Addressed most of the pending comments in the pull request for this branch. Modified the Branch struct to store a single StmtOrExpr variant rather than two separate mebers. Cleaned up how branch_children and visit_let store their intermediate branches. Also modified how and when these methods detect that the branching will overflow the branching_limit, this should lead to more early outs in the case that the code is branching too much.