Random

`sig
val init : int -> unit
val full_init : int array -> unit
val self_init : unit -> unit
val bits : unit -> int
val int : int -> int
val int32 : Int32.t -> Int32.t
val nativeint : Nativeint.t -> Nativeint.t
val int64 : Int64.t -> Int64.t
val float : float -> float
val bool : unit -> bool
module State :
sig
type t
val make : int array -> Random.State.t
val make_self_init : unit -> Random.State.t
val copy : Random.State.t -> Random.State.t
val bits : Random.State.t -> int
val int : Random.State.t -> int -> int
val int32 : Random.State.t -> Int32.t -> Int32.t
val nativeint : Random.State.t -> Nativeint.t -> Nativeint.t
val int64 : Random.State.t -> Int64.t -> Int64.t
val float : Random.State.t -> float -> float
val bool : Random.State.t -> bool
end
val get_state : unit -> Random.State.t
val set_state : Random.State.t -> unit
end`