code: func (g *Generator) Next() [24]byte {
  	x := atomic.AddUint64(&g.counter, 1)
  	var counterBytes [8]byte
  	binary.LittleEndian.PutUint64(counterBytes[:], x)
  
  	uuid := g.seed
  	for i, b := range counterBytes {
  		uuid[i] ^= b
  	}
  	return uuid
  }
docs: // Next returns the next UUID from the generator.
  // Only the first 8 bytes can differ from the previous
  // UUID, so taking a slice of the first 16 bytes
  // is sufficient to provide a somewhat less secure 128 bit UUID.
  //
  // It is OK to call this method concurrently.