code: func Variant4() (u UUID) {
  	// Output is: rrrrrrrr-rrrr-4rrr-Rrrr-rrrrrrrrrrrr
  	// where 4 is mandated, and R must be one of 8, 9, A or B.
  	u = make([]byte, UUIDByteLen)
  	io.ReadFull(crypto_rand.Reader, u)
  	u[6] = (u[6] & 0x0f) + 0x40
  	u[8] = (u[8] & 0x1f) + 0x80
  
  	return u
  }
docs: // Generates a "Variant 4" style UUID. These are nothing more than random
  // data with the proper reserved bits set.
  //
  // A random UUID has not assurance that it is in fact unique. These are only
  // usable if you can survive duplication, or have a central source to
  // verify uniqueness.