sig
  type 'a cell
  val make_cell :
    ?count:int ->
    ?max_gen:int ->
    ?max_fail:int ->
    ?small:('-> int) ->
    ?name:string ->
    'QCheck.arbitrary -> ('-> bool) -> 'QCheck.Test.cell
  val get_arbitrary : 'QCheck.Test.cell -> 'QCheck.arbitrary
  val get_law : 'QCheck.Test.cell -> '-> bool
  val get_name : 'QCheck.Test.cell -> string option
  val set_name : 'QCheck.Test.cell -> string -> unit
  type t = Test : 'QCheck.Test.cell -> QCheck.Test.t
  val make :
    ?count:int ->
    ?max_gen:int ->
    ?max_fail:int ->
    ?small:('-> int) ->
    ?name:string -> 'QCheck.arbitrary -> ('-> bool) -> QCheck.Test.t
  exception Test_fail of string * string list
  exception Test_error of string * string * exn * string
  val print_instance : 'QCheck.arbitrary -> '-> string
  val print_c_ex :
    'QCheck.arbitrary -> 'QCheck.TestResult.counter_ex -> string
  val print_fail :
    'QCheck.arbitrary ->
    string -> 'QCheck.TestResult.counter_ex list -> string
  val print_error :
    ?st:string ->
    'QCheck.arbitrary ->
    string -> 'QCheck.TestResult.counter_ex * exn -> string
  val print_test_fail : string -> string list -> string
  val print_test_error : string -> string -> exn -> string -> string
  val check_result : 'QCheck.Test.cell -> 'QCheck.TestResult.t -> unit
  type 'a callback =
      string -> 'QCheck.Test.cell -> 'QCheck.TestResult.t -> unit
  val check_cell :
    ?call:'QCheck.Test.callback ->
    ?rand:Random.State.t -> 'QCheck.Test.cell -> 'QCheck.TestResult.t
  val check_cell_exn :
    ?call:'QCheck.Test.callback ->
    ?rand:Random.State.t -> 'QCheck.Test.cell -> unit
  val check_exn : ?rand:Random.State.t -> QCheck.Test.t -> unit
end