Experimenting with code patches.
This tries to ask a few questions:
- What happens if you keep a history of the patches you have applied?
- Can you re-apply patches intelligently?
- Can you use the information in a patch to make smarter merges than git?
- Can you build up a file using patches, and then transform it by transforming a patch?
- what do Monoid / Monad instances for a patch look like?