sig
  type elt
  type t
  val sample : ?rng:Gsl.Rng.t -> size:int -> t -> elt array
  val cumulative_probability : t -> n:elt -> float
  val probability : t -> n:elt -> float
  val create : (elt * float) array -> t
  val mle : elt array -> t
end