type state = Stdlib.Random.State.t
type !'a t = (state, 'a) Stats__Stats_intf.gen
type !'a res = (state, 'a) Stats__Stats_intf.gen
val bind : 'a t -> ('a -> 'b t) -> 'b t
val map : 'a t -> ('a -> 'b) -> 'b t
module Infix : sig ... end
val iid : 'a t -> 'a Stdlib.Seq.t t
val float : float -> float t
val shuffle : 'a array -> 'a array t
val bernoulli : float -> bool t
val geometric : float -> int t
val subsample : n:int -> 'a t -> 'a t
val of_empirical : 'a Stats__Stats_intf.emp -> 'a t
val exponential : rate:float -> float t
val box_muller : mean:float -> std:float -> (float * float) t
val gaussian : mean:float -> std:float -> float t
val poisson : lambda:float -> int t
val range : Stats__Stats_intf.range -> float t
val gamma : shape:float -> scale:float -> float t
val categorical : ('a * float) array -> 'a t
val without_replacement : int -> 'a list -> ('a list * 'a list) t