Doing punch and roll right, even destructively, should include some automatic cross-fading of old and new material. Adjustment of the cross-fade interval after laying down the punch-in, or slight shifting of the punch-in in time, may be useful too.
This leads me to think that allowing clips to be dragged into overlapping position, with a cross fade through part of the overlap, would be a useful feature on its own. Many details must be worked out for displaying overlaps, rendering the sound represented by overlapping clips, and a user interface to modify the overlaps. It must also be clarified what it means to select a point or interval of time that includes a place or places where clips are overlapping, and then do a cut, split, effect, etc. This could be a large preliminary project of its own.
Given this, we might implement a decent punch and roll that produces overlapping clips. It would still work "destructively" if it deletes what was after the punch-in point. To be non-destructive, the previously recorded, alternative "take" should be saved somehow.
Easier routes: Do we move old takes onto new, muted tracks? Do we make it possible to mute clips of one track independently? But then, how do we make it easy to switch among the takes?
The more ambitious idea I had is that alternative takes could be grouped into a "rotation." A rotation of n clips has n+1 states, including the empty state, and some interface makes it easy to swap among states. The existing feature of cutlines is reimplemented as a rotation with one clip. A rotation knows the offset where it inserts into its parent, which is another clip, or the wave track. Takes may be unequal in length, which implies that material in the parent right of the insertion point may move left or right as takes are rotated. Each take remembers an independently adjustable length of overlap and cross-fading for each side of the insertion.
Again, more details to work out for an easy interface to modify the arrangement, and what it means to cut, delete, paste, etc.
Worm-cans within worm-cans.