u׸      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ' None (  None   None  None1ICopies all words between an end and a start (of type d) to a destination OLike copyWords, but excludes some lower bits [0, wordSize[ from the first Word HCopies all bits between an end and a start (of type d) to a destination      Z !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[   %     None\]^_`a] !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[   \]^\]^_`aNonebcdefghF !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[bcdefgbcdefghNoneijklmnopqrstuvwxyijkln ijklmnopqrstuvwNonez{|}~H !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[bcdefgz|z{|}~NoneENotify when all preceeding writes have completed, implies no barrier NPrevent the reordering of preceeding and subsequent read and write operations z !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[bcdefg    Safe-InferredNoneNone1A file or raw device where we can persist bytes. ^Opens the specified file as a LocalStoreFile, runs the provided function and closes the file. Z Do not make concurrent calls on the same file, place concurrency in the passed function. fOpens the specified raw device as a LocalStoreFile, runs the provided function and closes the device. \ Do not make concurrent calls on the same device, place concurrency in the passed function. Like nesting multiple calls to . Array'Js size and start must be aligned on the block size, and the ByteAddr too. @/NoneNone A list of i to be used as replicates. We write to all replicates and read from the first one that reports no error.    None !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[bcdefg  None !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[bcdefg  None|Create an empty cache of the specified size in bytes of serialized data. The actual consumed size may be a few times larger R since heap data is usually much less compact than its serialized representation. ! !!NoneP>Persister for lists built from a specified element persister. QETakes persisters for 2 types, and an injection from the smaller type a to the larger type b, and gives a r persister for the larger type which uses the smaller type representation when possible, plus one bit to identify  which representation is used. R-Specialization of shortcutPersister with the  injection. SPersister for 'Maybe a' built from a specified a+ persister. Uses a single bit to represent . z"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU:7>=<;:98()*+,-?@0654321./MNTOUSQRPCDEFABHJIKLG%&'#$"!^"#$%&'()*+,-./06543217>=<;:98?@ABCDEFGHJIKLMNOPQRSTU      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFNoneVCAn uninhabited type used as the last (rightmost) type in chains of '(:>)' WqA data type which is equivalent to Either, but which is persisted in an open manner which allows us to chain new w variants on the left. As more variants are added (going from NoRev to V1 :> NoRev and then to V2 :> V1 :> NoRev), the b persisted representation gets expanded without breaking the representation of previous variants. v We do not use Either because of the risk of persisting it in the standard manner and therefore losing upgradability. ]%Converts a chain of revisions to the Y" type, given a way to convert the X type to the Y type. ^The persister for '(:>)'r first writes out the numeric index, from the right, in the chain of revisions. This way the chain of alternative H revisions can lengthen without changing the indices of past revisions. _rThis is not a legal lens since it violates the law which says that setting back what you got must have no effect. w Here it is almost true since the only effect it has is to upgrade to the current representation, an idempotent change c for a semantically equivalent value. VWXYZ[\]^_ VWXYZ[\]^_ WYXZV[]\^_VWYXZ[\]^_Nonek-The passed persister must have no references `abcdefghijklGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU`abcdefghijkl`abcdefghijklNonekWhen we write Words and read them back on a platform with a different Word size, the array length changes, x and each Word64 is replaced by two consecutive Words32 (least-significant first), (the reverse substitution is applied W when going from Word32 to Word64, with an implicit 0 at the end when the size is odd) HIJNone !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[bcdefg  KLNonemnopmnopmnopmnopNoneqrstqrstqrstqrstNonew-The passed Persister must hace no references uvwGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU`abcdefghijkluvw uvwNone K !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[bcdefg None !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[bcdefg  HIJKLmnopNonexeA reference type which automatically puts its referent is a separately loadable allocation when that  allocation'"s size is greater than 2^n bytes. xxxxNoneyJUnlike Data.Map, this Map does not support constant time size computation zGeneral update/6lookup at a single key. The State monad used supports ; non-modification. Nothing denotes the absence of a value. Nyz{|}~     yz{|}~yz|}~{9yz{|}~      NoneThe History type is used as the state type so as to keep some snapshots of the past, in case data is lost due to a programming error t by the application developer. It is an homogenous collection so the argument type has to take care of versionning. _ To avoid needless reserialization of the past states, the argument type should be a Ref type. SWe keep the last n samples inserted, then n samples keeping one out of every two, Q then n samples keeping one out of every four... Currently n is hard coded to 2. Changes a transformation on a into a transformation on ' History a'. Adds a new state into the . Changes a transformation on a into a transformation on ' History a'. Adds a new state into the , ( unless the state has not changed. Uses !". EThe history is never empty, so it is safe to get the current sample. !Add a newer state to the history #None$None !"#$%&' !"#%None()*+,-.(()*+,-.&None/0/0'None11(NoneHas effects through unsafePerformIO on the caches stored in the DRefs (removes any cache entries for the deallocated allocations). 2323)NoneRoot persisted data. The a1 type parameter is the user persisted data type. XThe PState represents the whole state of the database. It is needed to perform updates. vstateSpace is always a subset of (or the same as) the true free space as determined by scanning rootScan from rootScan' s s and c G This subset is maintained conservatively to speed up new allocations. AThe persisted data consisting of bookkeeping data and user data. 4=A number which is incremented every time a state is written. JThe RootLocation specifies where roots are written, and provides a cache. 2Writes an initial state (creates a new database).  Most often the passed a9 will be a fresh unpersisted value. This is always safe. " However it is legal for parts of aZ to be already persisted, but they must only use allocations within the passed SpaceTree. : To read the state of an existing database use readState. 5The persisted value a# must only use memory contained in (. ^Reads the state of an existing database. It only reads the root, and the rest is lazy loaded. V The RootLocation must match the one use when writing. On failure it returns Nothing. We reserve the option of growing roots to 1MB, so use this as a minimum distance between the various RootAddress in RootLocation Takes the current state and the new value to be written, and writes and returns a new state. Writing is strict so make sure you do  not have cycles in the value to be written. After writing, you should no longer use the value you passed in, but instead use the  equivalent value present in the in the returned state. That new equivalent value knows where it is stored and will be lazily loadable.  The value just written will be partially or totally in the cache. IMPORTANT: This call overwrites the value that was in the state  passed as input, so you should not use it after this call returns. However it is safe for this call to use it implicitly, because often  the new value will be a function of the old one, and the strict write process will force parts of the old value to be read. If  by accident you do use a value which was overwritten, its digests will be incorrect (with very high probability) and deref will return error. j This calls collectState implicity once every 1000 calls. We will make this optional in future revisions. yWrites a new state if the passed state change requires it. The StateT monad used here is like the usual StateT monad but  it has an additional  unchanged/ case which allow us to avoid needless writes. _Like updateState but the updater has access to the input PState throught an additional ReaderT vCollects the garbage accumulated by the calls to writeState. Uses reference counting: first does an increment pass on  the current value, and then does a decrement pass on the value that was present at the last collection. Only new allocations are y scanned in the increment pass, not what was already allocated at the last collection. The decrement pass only traverses . the allocations that need to be deallocated. 167894:;5<=>?@ABCDEFGGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU 67894:;5<=>?@ABCDEFGNoned !"#$%&'()*+,-./0$%&'123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ bcdefg !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU`abcdefghijkluvwQuvw lijk`abghcdef  NonebRepresents a persisted database. Contains a (ram-only) lock to sequence multithreaded operations,  so only one  must be created per . Wraps a ReplicatedFile with a cache of a given size. The size is specified in bytes of serialized data, but the actual consumed  size may be a few times larger since the cache contains the deserialized data, which is often less compact than its serialized  representation. =At the moment this is the only way to create a rootLocation. p The root of the database will be located in one of two reserved locations at the start of the specified files. Creates a PVar with the specified initial state. Writes at the specified location, using the given maximum usable space (in bytes). 0Attempts to open a PVar by reading at the given 6. Do not open the same location multiple times, share  the PVar instead. Persist a state change TThis function allows read access to the bookkeeping structures of the database. The  type is subject to change. HGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_mnopqrstx HI*+,-./-.0 1 2 3 4 5 6 7 899:;<=>?@ABCDEFGHIJKLLMNOOPPQRSTUVWXYZ[\]^_`abcdefghijkkllmnopqrsstuvwxyz{|}~  #$$&&&&'()))))))))))))))))))))))))))))*****************************----  M M                                        ! " # $ % & ' ( ) *+,-*./*01*./*23*24*25*06*.7*.89:;9:<9:=9:>9:?9:@9:A9:B9:C9:D9:D-EF-EG-EH-EI-EJ-EK-EL-EM-EN-EO-EP-EQ-ER-ES-ET-EU-EV-EW-EX-EY-EZ-E[-E\-E]-E^-E_-E`-Ea-Eb-Ec-Ed-Ee-Ef-Eg-Eh-Ei-Ej-Ek-El-Em-En-Eo-Eopqrstuvvwxyz{|}~--******************-------------------HM-*      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLM-NO-NP-NQ-NR-NS-NT-NU-NV-NW-NX-YZ-Y[-Y\-Y]-Y^-Y_-Y`-Ya-Yb-Yc-Yd-Ye-Yf-Yg-Yh-Yi-Yj-Yk-Yl-Ym-Yn-Yo-Yp-Yq-Yr-Ys-Yt-Yu-Yv-Yw-Yx-Yy-Yz-Y{-Y|-Y}-Y~-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y----                $$!$"$#-$-$-$%-$&%'%'%(%)%*%+%,&-&.'/(0(1)2)3)4)4)5))2)6)7)8)9):);)<)=)>)?)@)A)BC perdure-0.2.1Database.Perdure.InternalDatabase.Perdure.PersistentDatabase.PerdureDatabase.Perdure.RevDatabase.Perdure.DerefDatabase.Perdure.RefDatabase.Perdure.SizeRefDatabase.Perdure.Data.MapDatabase.Perdure.HistoryDatabase.Perdure.SpaceDatabase.Perdure.CountDatabase.Perdure.Cache1Database.Perdure.WriteBitsDatabase.Perdure.AllocCopyDatabase.Perdure.ValidatorDatabase.Perdure.DigestDatabase.Perdure.WValidatorDatabase.Perdure.StoreFileDatabase.Perdure.PackageDatabase.Perdure.CRefDatabase.Perdure.LocalStoreFile Database.Perdure.SingleStoreFileDatabase.Perdure.ReplicatedFileDatabase.Perdure.AllocatorDatabase.Perdure.ArrayRefDatabase.Perdure.CacheDatabase.Perdure.CDeserializerDatabase.Perdure.WordArrayRefDatabase.Perdure.WordNArrayRefDatabase.Perdure.CSerializerDatabase.Perdure.RootValidatorDatabase.Perdure.DRefCgm.Control.MonadStateDatabase.Perdure.RNF!Database.Perdure.Data.MapMultisetDatabase.Perdure.SpaceTreeDatabase.Perdure.SpaceBookDatabase.Perdure.IncrementerDatabase.Perdure.DecrementerDatabase.Perdure.StatebaseGHC.WordWord64cognimeta-utils-0.1.2Cgm.Control.Concurrent.Awaitawait1await0Space emptySpace removeSpanaddSpanfindSpan isFreeSpaceSpanAddressBasicRefrefStartrefSizeSyncableStoreFile storeFileSyncstoreFileFullBarrier StoreFileStoreRefstoreFileWrite storeFileReadrefSpanCRefToRefRefedonCRefLocalStoreFilewithFileStoreFilewithRawDeviceStoreFilewithRawDeviceStoreFilesReplicatedFileCacheCDRefRef0IRefgetIRef Persistent persister Persistent1 persister1 Persistent1_ persister1_ RefPersistent refPersister RefPersister IRefPersister DRefPersister CRefPersisterSizeRefPersisterRefView Ref0Persister PersisterCRefPersister'DRefPersister'SummationPersister ViewPersisterEitherPersister PairPersisterPartialWordPersisterLgPersistent1_ lgPersister1_DRefDeserializerContextdcFiledcCache WArrayRef WordArrayRefWord64ArrayRefWord32ArrayRef WordNArrayRef&.|.summationPersister listPersistershortcutPersister>.maybePersister lenPersisterratioPersisterNoRev:>PreviousCurrentonRevonNoRev toOnlyRev toCurrent revPersister latestLens Deserializer deserializeDeserOut deserValuedeserPosDeserializable deserInputdeserializeFromArraydeserializeFromFullArrayunsafeSeqDeserializercDeserDerefderefIOderefderefEqRefrefIOrefrefLensSerializerContextcSerserializeToArraySizeRefMapupdateMscanemptynulllookupinsert insertWithdelete foldlWithKey foldrWithKeyfromListtoListassocselemsmapLensmaxKeyHistoryinitial updateHistoryupdateHistoryMcurrentprnf MapMultisetmapMultisetMap SpaceBook bookCount bookSpaceincrdecr RootValuesrootCS rootValueRootrootIdrootDecrrootScanPState stateLocation stateSpace stateRoot RootAddressgetRootAddress RootLocation CachedFile stateValue initState readState rootAllocSize writeState updateStateupdateStateRead collectState collectStateMPVar newCachedFiledefaultRootLocation createPVaropenPVar updatePVarupdateInspectPVar Data.Monoid<>mconcatmappendmemptyMonoidgetDualDualappEndoEndogetAllAllgetAnyAnygetSumSum getProductProductgetFirstFirstgetLastLastCgm.Data.SortedPairunsafeSortedPair sortedPair onSortedPair SortedPairEntry entrySizecontentsstepsizefreedeleteExistingABitSeqBSerBitAccCWordSeqWordSeqWordSrc addedWords copyWordscopyWordsPartialBitSrc addedBitscopyBitsBitDestaddBitaddBitsWordDestaddWord SrcDestST STSrcDest SrcDestState chunkSizepushAnyFullChunk mkWordSeq chunkStartchunkEnd onAlignmentalignedbitAccWordDestpadIncompleteWord mkABitSeq$fBitSrcBitAcc$fBitDestBitAcc$fWordDestBitAcc$fSTSrcDestBitAcc$fWordSrcCWordSeq$fBitSrcCWordSeq$fWordDestCWordSeq$fSTSrcDestCWordSeq$fWordSrcWordSeq$fBitSrcWordSeq$fWordDestWordSeq$fSTSrcDestWordSeq $fWordSrcPtr $fBitSrcPtr $fWordDestPtr$fSTSrcDestPtrghc-primGHC.Prim RealWorldGHC.STSTGHC.IOioToSTControl.Monad.ST unsafeSTToIO unsafeIOToSTunsafeInterleaveSTstToIOrunSTfixSTprimitive-0.4.1Data.Primitive.TypesPrimsizeOf# alignment#indexByteArray#readByteArray#writeByteArray# indexOffAddr# readOffAddr# writeOffAddr#AddrCgm.Data.Array mapImmArray mkArrayWithmapMArrayCopyImm mapMArrayCopy mapMArrayunsafePrimArrayCastunsafeSTPrimArrayCastwordConvArrayRangeheadArrayRangeskipArrayRangefullArrayRangeunsafeFreezeSTPrimArrayrunSTPrimArray primSizeOfprimArrayMatchAllocationnewAlignedPinnedWord8ArrayarrayFromByteStringunsafeWithCastArrayByteStringwithArrayByteStringArrayIxarrayLen ArrayElemArray indexArrayImmArray ArrayStateSTArraymkArray STMkArray writeArray readArraySTZArray withArrayPtr PinnedArray onAllocation newWord8Array AllocationFreePinned STPrimArray PrimArray ArrayRange AllocCopyallocCopyBitsSkip allocCopyBits$fAllocCopyWord$fAllocCopyWord64$fAllocCopyWord32 Validator0 Validator ValidatedElemmkValidationInputvalidate$fValidatorValidator0Digest DigestWorddigest MD5DigestSkein512DigestunsafeBSToWordHashunsafeFixedEndianToWordHashword128FromArray32LEword128FromArray64LE$fDigestMD5Digest$fDigestSkein512Digest$fStructuredMD5Digest$fStructuredSkein512DigestCgm.Data.LongWord word128BEWord128 W64Validator W32Validator$fValidatorW64Validator$fValidatorW32Validator$fStructuredW32Validator$fStructuredW64Validator$fStructuredBasicRefGHC.PtrPtrFunPtr Foreign.Ptr intPtrToPtr ptrToIntPtr wordPtrToPtr ptrToWordPtrfreeHaskellFunPtrWordPtrIntPtrcastPtrToFunPtrcastFunPtrToPtr castFunPtr nullFunPtrminusPtralignPtrplusPtrcastPtrnullPtr Cgm.Data.Len roundUpPower2 ceilDivPower2 coarseRem coarsenLen refineLenwordLenB bitSizeLenwordword64word32word16word8bitLen unsafeLenshowLengetLenLenlgMul LgMultipleperdurePackage$fTypeableCRef fdReadArray RawDeviceChildExceptionRawFile fileWriteRaw fileReadRaw fileFlushCLookSchedule emptyScheduleinsertOpnextOpRWOpReadOpWriteOpDevOpNonPosOp FullBarrierSyncPosOpByteAddr RawStoreFilestoreFileWriteRawstoreFileReadRawstoreFileWriteWordsstoreFileReadWords forceDevOpqueue narrowBufsLenstoreFileWrite1storeFileRead1minViewWithKeyNE updateLow updateHigh performAllperformprocesshSeekX hWriteZeros toFileOffset toByteCount fdSeekLen fdWriteArrayrawDeviceBlockByteswithBlockArray withRawFile$fRawFileRawDevice$fShowRawDevice$fExceptionChildException$fRawFileHandle$fScheduleCLook!$fSyncableStoreFileLocalStoreFile$fRawStoreFileLocalStoreFile $fShowRWOp$fShowNonPosOpSingleStoreFile$fStoreFileSingleStoreFile!$fSyncableStoreFileReplicatedFile$fStoreFileReplicatedFile AllocatorallocallocatorStoreFile allocWriteArrayRef ArrayRefElem writeArrayRef derefArrayRef arrayRefAddr arrayRefSize entryValue $fEntryEntryCgm.Data.Supersuper Data.MaybeNothing wordPersisterunsafeBitsPersisterunsafeIntegralAsWord integerWords$fPersistentWordArrayRef$fPersistentWordNArrayRef$fLgPersistent1_BasicRef$fPersistentBasicRef$fPersistentDRef$fPersistent(->)$fPersistent(->)0$fPersistentDiffTime$fPersistentUTCTime$fPersistentDay$fPersistentSet$fPersistentMap$fPersistentLen$fPersistentCRef$fPersistentSum$fPersistentIRef$fPersistentSkein512Digest$fPersistentMD5Digest$fPersistentWord128$fPersistentW64Validator$fPersistentW32Validator$fPersistentRef0$fPersistent[]$fPersistentMaybe$fPersistentRWord$fPersistentRWord0$fPersistentRWord1$fPersistentRWord2$fPersistentRatio$fPersistentInteger$fPersistentDouble$fPersistentFloat$fPersistentInt64$fPersistentInt32$fPersistentInt16$fPersistentInt8$fPersistentWord64$fPersistentWord32$fPersistentWord16$fPersistentWord8$fPersistentOrdering$fPersistent(,,,,,)$fPersistent(,,,,)$fPersistent(,,,)$fPersistent(,,)$fPersistent(,)$fPersistentEither$fPersistentChar$fPersistentBool$fPersistent()$fPersistent1Sum$fPersistent1CRef$fPersistent1IRef$fPersistent1DRef$fPersistent1Ref0$fRefPersistentIRef$fRefPersistentDRef$fRefPersistentCRef$fRefPersistentRef0$fInjectionACofunctorPersister$fStructuredRef0$fStructuredIRef$fStructuredDay$fStructuredUTCTime$fStructuredWordNArrayRef$fStructuredWordArrayRefCgm.Data.Structured structureMapin2in1wrapunwrapstruct fromStructure structure Structure StructuredCgm.Control.InFunctor liftIItIIliftIKtIliftIItIliftIItKliftItIwrapBwrapUcofunctorIacomapfunctorIacomapfunctorCofunctorComapliftABinv pairBijectionuncheckedBijection injectionM'uncheckedInjectionM pairInjection injection'uncheckedInjection injectionA'uncheckedInjectionAuncheckedStrictlyIncreasinguncheckedIncreasing$*applyFunction Increasing Increasing':>>=StrictlyIncreasingStrictlyIncreasing':>>unapply InjectionA InjectionA'retract Injection Injection' InjectionM InjectionM' Bijection Bijection'iacomapInjectionACofunctoricomapInjectionCofunctorimcomapInjectionMCofunctorbmap ExpFunctorincmapIncreasingFunctorsincmapStrictlyIncreasingFunctor>$< Cofunctor getRevFunRevFun:<-mpairmunit ComonoidalCgm.Data.Structured.DerivederiveStructured PersistentRevdeserRevserRevRevlastRev$fPersistent:>$fPersistentNoRev$fPersistentRev:>$fPersistentRevNoRev$fRev:> $fRevNoRevbitDeserializerpartialWordDeserializer$fMonadDeserializer$fApplicativeDeserializer$fFunctorDeserializer$fDeserializableWord64$fDeserializableWord32$fDeserializableWord!$fInjectionACofunctorDeserializer$fArrayRefWordArrayRefderefPinnedArrayRefWordNValidator$fArrayRefWordNArrayRef$fWordNValidatorW64Validator$fWordNValidatorW32Validator$fEqCRef $fShowCRef $fDerefCRef $fShowRef0 $fDerefRef0 $fShowIRef$fEqIRef $fDerefIRef $fDerefSum$fEqDRef $fShowDRef $fDerefDRef $fFunctorCRef $fRefCRef $fRefRef0 $fRefIRef NoAllocatorDest CountDestaddCountcSerRefnoCountmkDRef writeDRef$fAllocatorNoAllocator(Cgm.Control.Concurrent.NotificationCount notifyingwithNotificationCountNotificationCountHeader RootValidatorValidationDigestWordValidationDigestdigest'$fPersistentRootValidator$fValidatorRootValidator$fValidationDigestWordWord64$fValidationDigestWordWord32$fStructuredRootValidatorLargeEnoughForRefTooSmallForRef$fDerefSizeRef$fRefPersistentSizeRef$fPersistent1SizeRef$fStructuredSizeRefTrGtrans mergeLeft mergeRightfoldlKfoldrKModifyChangeLeaveOutSplitSingleMergeUpperNodeNode3Node2Tree NextLevel LastLevelEmptLeaf ReferenceNonEmptyEmptyR moduleName dereference referencemapUpperwithinnode2node3onNodeappStatetrans'onModify$fPersistentUpper$fPersistentReference$fPersistentNode$fPersistentLeaf$fPersistentTree$fEqMap$fTrNode $fTrReference$fTrLeaf$fTypeable2Node$fTypeable2Reference $fShowMap$fStructuredMap$fStructuredTree$fStructuredLeaf$fStructuredNode$fStructuredReference$fStructuredUpperQueuesingletonQueue queueInsertmaxQueueLength$fPersistentQueue$fPersistentHistory$fStructuredHistory$fStructuredQueue$fPersistentMapMultiset$fMultisetMapMultiset$fStructuredMapMultisetCgm.Data.MultisetemptySetMultiset SpaceTree spaceTreeIncr spaceTreeDecr$fPersistentSpaceTree$fSpaceSpaceTree$fStructuredSpaceTree$fPersistentSpaceBook$fStructuredSpaceBookincrRefunsafeClearCachedecrRefStateId initStateNStateAllocator RootVersionsrootRefasyncWriteStatecollectFrequencywriteRootSimpleasyncCollectState writeRootwritereadRoot$fAllocatorStateAllocator$fPersistentRootValues$fPersistentRoot$fStructuredRoot$fStructuredRootValues