1234567891011121314151617181920212223242526272829open!Core0moduletypeS=sigtypet[@@derivingbin_io,compare~localize,hash,sexp_of]includeComparator.Swithtypet:=tinclude%templateEqual.S[@modelocal]withtypet:=tinclude%templateComparable.S[@modelocal]withtypet:=tinclude%templateHashable.S_binable[@modelocal]withtypet:=tvalzero:tvalone:tvalto_int:t->intvalto_string:t->stringvalgenerator:unit->[`Newofunit->t]*[`Resetofunit->unit]moduleExpert:sig(** Only use this if you know what you are doing. Not using the generator properly can
lead to very strange problems. *)valof_int:int->tendendmoduletypeUid_builder=sigmoduletypeS=SmoduleMake():Send