sig
  type t = { t_df : float; }
  type elt = float
  val sample : ?rng:Gsl.Rng.t -> size:int -> t -> elt array
  val cumulative_probability : t -> x:elt -> float
  val density : t -> x:elt -> float
  val quantile : t -> p:float -> elt
  val mean_opt : t -> float option
  val variance_opt : t -> float option
  val skewness_opt : t -> float option
  val kurtosis_opt : t -> float option
  val create : df:float -> Distributions.T.t
  val mme : float array -> Distributions.T.t
end