code: func NewProbabilisticCounterFromBytes(cardinality int, bytes []byte) (*ProbabilisticCounter, error) {
  	bs := newBitSetForCardinality(cardinality)
  	err := bs.UnmarshalBinary(bytes)
  
  	if err != nil {
  		return nil, errors.Wrap(err, "Unable to deserialize ProbabilisticCounter from binary data")
  	}
  
  	return &ProbabilisticCounter{
  		cardinality: cardinality,
  		bitset:      bs,
  	}, nil
  }
docs: // It deserializes a new ProbabilisticCounter which has probably been serialized before with probabiliscCounter.Bytes().
  // cardinality: an *estimate* of the true cardinality of the set of values it should count so that an internal bit map
  // can be initialized and sized properly.