I think we could possibly come up with a better system for that, not just switch statements. For instance, regarding code reuse, there are four kinds of "overlaps" I can think of: 1) overlap at the start, 2) overlap at the end, 3) one case's code is entirely within another, and 4) one case's end overlaps with another case's start.
Cheddar's Switch (lambda?) Proposal! If you'd like to comment, suggest a change or anything, feel free to leave a comment, or if you have edit access, edit the proposal (but leave a footnote describing your changes)