sig
  type 'a t
  val of_uuid : 'a -> 'a Id.t
  val digest : 'a -> string -> 'a Id.t
  val compare : 'a Id.t -> 'a Id.t -> int
  val equal : 'a Id.t -> 'a Id.t -> bool
  val pp : 'a Id.t Fmt.t
  val json : 'a Id.t Jsont.codec
  val of_string : 'a -> string -> 'a Id.t
  val to_string : 'a Id.t -> string
end