code: func NewUUID(s string) (*UUID, error) {
  	s = strings.Replace(s, "-", "", -1)
  	if len(s) != 32 {
  		return nil, errors.New("bad UUID length != 32")
  	}
  	dec, err := hex.DecodeString(s)
  	if err != nil {
  		return nil, err
  	}
  	var u UUID
  	for i, b := range dec {
  		u[i] = b
  	}
  	return &u, nil
  }
docs: // NewUUID generates a new UUID from the given string. If the string does not
  // represent a valid UUID, nil and an error are returned.