Add ACID guarantees to any serializable Haskell data structure