123456789101112131415161718192021222324252627282930313233moduleIntf=struct(** Random bytes generator *)moduletypeRNG=sig(** [random_bytes size] returns a buffer and a offset at which [size] fresh
random bytes are readable. *)valrandom_bytes:int->bytes*intend(** Nano ID generator *)moduletypeS=sig(** [nanoid ?size ()] generates a random Nano ID of size [size], which
defaults to 21. *)valnanoid:?size:int->unit->stringendendmoduletypeVERSION_1_0=sig(** @inline *)includemoduletypeofIntf(** [pseudo_seeded seed] is a [RNG] module that generates pseudo random
numbers based on the given [seed]. It is subject to the same limitations
as {!Cryptokit.Random.pseudo_rng} *)valpseudo_seeded:string->(moduleRNG)(** [Make (Rng)] is a Nano ID generator based on random number generator [Rng] *)moduleMake(Rng:RNG):S(** [Simple ()] is a Nano ID generator based on the {!pseudo_seeded} random
number generator seeded with the current system time as given by
{!Unix.gettimeofday}. *)moduleSimple():Send