úÎ ªí%non-portable (uses Data.Array.IArray) experimentallibraries@haskell.orgNone5Strict unboxed diff array, working only for elements = of primitive types but more compact and usually faster than . )Fully polymorphic lazy boxed diff array.  An arbitrary  type living in the  monad can be converted  to a diff array. 4    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH0    !"#$%&'()*+,-./012345I    !"#$%&'()*+,-./0123456789:;<=;<>;<?;<@;<A B C D E F G H I J K L M N;<OPdiffarray-0.1.1Data.Array.Diff DiffUArray DiffArray IOToDiffArray newDiffArray readDiffArrayreplaceDiffArray array-0.4.0.1Data.Array.BaseMArrayghc-prim GHC.TypesIO DiffArrayDataDiffCurrent varDiffArrayreplaceDiffArray1replaceDiffArray2boundsDiffArraynumElementsDiffArrayfreezeDiffArrayunsafeFreezeDiffArray thawDiffArrayunsafeThawDiffArray$fIArrayIOToDiffArrayWord64$fIArrayIOToDiffArrayWord32$fIArrayIOToDiffArrayWord16$fIArrayIOToDiffArrayWord8$fIArrayIOToDiffArrayInt64$fIArrayIOToDiffArrayInt32$fIArrayIOToDiffArrayInt16$fIArrayIOToDiffArrayInt8$fIArrayIOToDiffArrayStablePtr$fIArrayIOToDiffArrayDouble$fIArrayIOToDiffArrayFloat$fIArrayIOToDiffArrayFunPtr$fIArrayIOToDiffArrayPtr$fIArrayIOToDiffArrayWord$fIArrayIOToDiffArrayInt$fIArrayIOToDiffArrayChar$fIArrayIOToDiffArrayBool$fIArrayIOToDiffArraye$fShowIOToDiffArray$fShowIOToDiffArray0$fShowIOToDiffArray1$fShowIOToDiffArray2$fShowIOToDiffArray3$fShowIOToDiffArray4$fShowIOToDiffArray5$fShowIOToDiffArray6$fShowIOToDiffArray7$fShowIOToDiffArray8$fShowIOToDiffArray9$fShowIOToDiffArray10$fShowIOToDiffArray11$fShowIOToDiffArray12$fShowIOToDiffArray13baseGHC.ArrIxrangeindexinRange rangeSizeixmapamapaccum// accumArrayassocselemsindices! listArrayarrayboundsIArrayArray