Actually, doing that would force us to slightly redo the logic with no significant gain (as we would have to keep those if branches).  I'll push slightly different approach for you to comment on in a few.