This is a proposal for a lightning talk I would give at the [Reactive 2015](https://reactive2015.com/) conference. **NOTE:** If you like it, put a star :star: on it—the number of stars decides if it makes the cut! ## Rewriting history with predicates [Redux](https://github.com/rackt/redux) provides a simple pattern for managing application state. As demonstrated in [Dan Abramov's talk](https://www.youtube.com/watch?v=xsSnOQynTHs) following this pattern lets you painlessly implement simple undo and time travel. By keeping a history of actions, and reducing a subset of those actions, you can travel to any point in the apps history. I will demonstrate how you can easily rewrite this history with a set of reducing predicates. In five minutes I'll show how quickly complex undos can be written. I demo this in [a Todo app with time travelling scrubbers](http://bit.ly/redotodo) that allow new actions in the past that do not overwrite those in the future. I will demo a drawing app with layers and implement erase using only predicates in that time.