sig
  exception Unexpected_value of string
  exception End_of_sequence
  type ('a, 'b) t
  val from_mapping :
    ?cmp:('-> '-> int) ->
    ?prn:('-> string) -> ('a * 'b) list -> ('a, 'b) Mock.t
  val from_sequence :
    ?cmp:('-> '-> int) ->
    ?prn:('-> string) -> ('a * 'b) list -> ('a, 'b) Mock.t
  val from_function : ?cmp:('-> '-> int) -> ('-> 'b) -> ('a, 'b) Mock.t
  val func : ('a, 'b) Mock.t -> '-> 'b
  val func2 : ('a1 * 'a2, 'b) Mock.t -> 'a1 -> 'a2 -> 'b
  val func3 : ('a1 * 'a2 * 'a3, 'b) Mock.t -> 'a1 -> 'a2 -> 'a3 -> 'b
  val func4 :
    ('a1 * 'a2 * 'a3 * 'a4, 'b) Mock.t -> 'a1 -> 'a2 -> 'a3 -> 'a4 -> 'b
  val func5 :
    ('a1 * 'a2 * 'a3 * 'a4 * 'a5, 'b) Mock.t ->
    'a1 -> 'a2 -> 'a3 -> 'a4 -> 'a5 -> 'b
  val count : ('a, 'b) Mock.t -> '-> int
  val total : ('a, 'b) Mock.t -> int
  val calls : ('a, 'b) Mock.t -> 'a list
end