pkg uniqueid, func FromHexString(string) (Id, error)
pkg uniqueid, func Random() (Id, error)
pkg uniqueid, func Valid(Id) bool
pkg uniqueid, method (*Id) VDLRead(vdl.Decoder) error
pkg uniqueid, method (*RandomGenerator) NewID() (Id, error)
pkg uniqueid, method (Id) String() string
pkg uniqueid, method (Id) VDLIsZero() bool
pkg uniqueid, method (Id) VDLWrite(vdl.Encoder) error
pkg uniqueid, type Id [16]byte
pkg uniqueid, type RandomGenerator struct
