úÎv     (c) Edward Kmett 2013-2015BSD3Edward Kmett <ekmett@gmail.com> experimental non-portableNone'(>N      (c) Edward Kmett 2013-2015BSD3Edward Kmett <ekmett@gmail.com> experimental non-portableNone'034579>?IN Initialize a new counter:HrunHyperLogLog (mempty :: HyperLogLog 3) == V.fromList [0,0,0,0,0,0,0,0]True4Please note how you specify a counter size with the nc invocation. Sizes of up to 16 are valid, with 7 being a likely good minimum for decent accuracy.?Let's count a list of unique items and get the latest estimate:3size (foldr insert mempty [1..10] :: HyperLogLog 4)DApproximate {_confidence = 0.9972, _lo = 2, _estimate = 9, _hi = 17} Note how A can be used to add new observations to the approximate counter. If two types p and q; reify the same configuration, then we can coerce between   p and   q(. We do this by building a hole in the nominal& role for the configuration parameter.\Insert a value that has already been hashed by whatever user defined hash function you want.Approximate size of our set       (c) Edward Kmett 2013-2015BSD3Edward Kmett <ekmett@gmail.com> experimental non-portableNone        !hyper_LANFNpVs4noHHIZq1cQS1tData.HyperLogLog.ConfigData.HyperLogLog.TypeData.HyperLogLogRanklim32 numBuckets smallRange interRangerawFactalpha bucketMask calcBucketcalcRankHasHyperLogLog hyperLogLog HyperLogLogrunHyperLogLog coerceConfiginsert insertHashsizeintersectionSizecast _HyperLogLogsipKeysiphash$fMonoidHyperLogLog$fSemigroupHyperLogLog$fHasHyperLogLogkHyperLogLogp$fBinaryHyperLogLog$fSerialHyperLogLog$fSerializeHyperLogLog