úÎÀþ     (c) Edward Kmett 2013-2015BSD3Edward Kmett <ekmett@gmail.com> experimental non-portableNone+,DT      (c) Edward Kmett 2013-2015BSD3Edward Kmett <ekmett@gmail.com> experimental non-portableNone+59:;<=?DEIOT 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  "      !"#$%(hyperloglog-0.4.1-6bdlExmiJ8kIRjufpXgd0BData.HyperLogLog.ConfigData.HyperLogLog.TypeData.HyperLogLogRanklim32 numBuckets smallRange interRangerawFactalpha bucketMask calcBucketcalcRankHasHyperLogLog hyperLogLog HyperLogLogrunHyperLogLog coerceConfiginsert insertHashsizeintersectionSizecast$fMonoidHyperLogLog$fSemigroupHyperLogLog$fHasHyperLogLogkHyperLogLogp$fBinaryHyperLogLog$fSerialHyperLogLog$fSerializeHyperLogLog$fEqHyperLogLog$fShowHyperLogLog$fGenericHyperLogLog$fNFDataHyperLogLog _HyperLogLogsipKeysiphash