úÎm]%non-portable (uses Data.Array.IArray) experimentallibraries@haskell.org5Strict 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.   !"#$%&'(    ! " # $ % & ' ( ) * + , -./ diffarray-0.1Data.Array.Diff DiffUArray DiffArray IOToDiffArray newDiffArray readDiffArrayreplaceDiffArray DiffArrayDataDiffCurrent array-0.3.0.3Data.Array.BaseMArrayghc-prim GHC.TypesIO varDiffArrayreplaceDiffArray1replaceDiffArray2boundsDiffArraynumElementsDiffArrayfreezeDiffArrayunsafeFreezeDiffArray thawDiffArrayunsafeThawDiffArraybaseGHC.ArrIxrangeindexinRange rangeSizeixmapamapaccum// accumArrayassocselemsindices! listArrayarrayboundsIArrayArray