Undo/redo history

I was wondering if it is possible to undo an action that happened previous to another series of actions without having first to undo all the actions that occurred after the action that I want to undo.

I seem to remember there was an attempt to do this once, but both user interface and implementation are a nightmare and the idea was abandoned.