Efficient Persistent Data Structures for Dart