Persistent data structures for Javascript