sig
  type g
  val block : int
  val create : unit -> Nocrypto.Rng.S.Generator.g
  val generate : g:Nocrypto.Rng.S.Generator.g -> int -> Cstruct.t
  val reseed : g:Nocrypto.Rng.S.Generator.g -> Cstruct.t -> unit
  val accumulate :
    g:Nocrypto.Rng.S.Generator.g ->
    (source:int -> Cstruct.t -> unit) Nocrypto.Uncommon.one
  val seeded : g:Nocrypto.Rng.S.Generator.g -> bool
end