sig
  val iter :
    Mv_regression.Coefficient.t ->
    estimate:(([< `Read | `Set_and_create ], Mv_regression.Coefficient.t,
               float)
              Fieldslib.Field.t_with_perm ->
              Mv_regression.Coefficient.t -> float -> 'a) ->
    confidence95:(([< `Read | `Set_and_create ], Mv_regression.Coefficient.t,
                   float * float)
                  Fieldslib.Field.t_with_perm ->
                  Mv_regression.Coefficient.t -> float * float -> 'b) ->
    'b
  val fold :
    Mv_regression.Coefficient.t ->
    init:'->
    estimate:('->
              ([< `Read | `Set_and_create ], Mv_regression.Coefficient.t,
               float)
              Fieldslib.Field.t_with_perm ->
              Mv_regression.Coefficient.t -> float -> 'b) ->
    confidence95:('->
                  ([< `Read | `Set_and_create ], Mv_regression.Coefficient.t,
                   float * float)
                  Fieldslib.Field.t_with_perm ->
                  Mv_regression.Coefficient.t -> float * float -> 'c) ->
    'c
end