sig type 'a t = 'a Sampler.t val create : ('a * float) list -> 'a t val sample : ?state:Core.Std.Random.State.t -> 'a t -> 'a end