sig
  val resample :
    ?rng:Gsl.Rng.t ->
    estimator:('a array -> 'b) -> n_iter:int -> 'a array -> 'b array
  val jackknife : estimator:('a array -> 'b) -> 'a array -> 'b array
  module Bootstrap :
    sig
      type estimate = {
        point : float;
        lower_bound : float;
        upper_bound : float;
        confidence_level : float;
      }
      val bca :
        ?rng:Gsl.Rng.t ->
        ?confidence_level:float ->
        estimator:(float array -> float) ->
        n_iter:int -> float array -> Resampling.Bootstrap.estimate
    end
end