Definitely interesting!<p>A few questions:<p>1. Is there any structural sharing of the memory between snapshots? Persistent data structures make sharing state&#x2F;rewindable state fairly cheap, but the bust is always when it comes time to serialize it - few functional languages have support for durable persistent datastructures. Irmin, Datomic, and a few others are what I&#x27;ve come across&#x2F;played with so far, and each of them requires your app to be built around their model; nothing nearly as general as just &quot;memory.&quot;<p>2. Does this handle socket connections, etc. that rely on an external party? Obviously Tonic can&#x27;t rewind&#x2F;replay state that it doesn&#x27;t control, but where is the dividing line?<p>3. What&#x27;s the expected use case for Tonic? Is it meant to be a Mathematica&#x2F;IPython replacement, or a dev platform for applications?