I like the delete and redraft edit spec by fiatjaf. No issues with determining what version a user is replying to. You retain "whats done is done" semantics.