sig
  type 'a printer = Format.formatter -> '-> unit
  type 'a sequence = ('-> unit) -> unit
  type data = S of string | I of int | B of bool | F of float
  module Data :
    sig
      type t = OLinq_table.data
      val equal : OLinq_table.Data.t -> OLinq_table.Data.t -> bool
      val compare : OLinq_table.Data.t -> OLinq_table.Data.t -> int
      val print : OLinq_table.Data.t OLinq_table.printer
      val to_string : OLinq_table.Data.t -> string
    end
  val int : int -> OLinq_table.data
  val float : float -> OLinq_table.data
  val bool : bool -> OLinq_table.data
  val string : string -> OLinq_table.data
  type row = OLinq_table.data array
  exception IndexError
  module Row :
    sig
      type t = OLinq_table.row
      val empty : OLinq_table.Row.t
      val make1 : OLinq_table.data -> OLinq_table.Row.t
      val make2 : OLinq_table.data -> OLinq_table.data -> OLinq_table.Row.t
      val of_array : OLinq_table.data array -> OLinq_table.Row.t
      val of_list : OLinq_table.data list -> OLinq_table.Row.t
      val size : OLinq_table.Row.t -> int
      val get : int -> OLinq_table.Row.t -> OLinq_table.data option
      val get_exn : int -> OLinq_table.Row.t -> OLinq_table.data
      val map :
        f:(OLinq_table.data -> OLinq_table.data) ->
        OLinq_table.Row.t -> OLinq_table.Row.t
      val append :
        OLinq_table.Row.t -> OLinq_table.Row.t -> OLinq_table.Row.t
      val remove_index : int -> OLinq_table.Row.t -> OLinq_table.Row.t
      val remove_index_l : int list -> OLinq_table.Row.t -> OLinq_table.Row.t
      val print : OLinq_table.Row.t OLinq_table.printer
      val to_string : OLinq_table.Row.t -> string
    end
  exception DimError
  type t
  val create : ?size:int -> names:string array -> unit -> OLinq_table.t
  val init :
    names:string array -> int -> (int -> OLinq_table.row) -> OLinq_table.t
  val make : names:string array -> int -> OLinq_table.row -> OLinq_table.t
  val num_rows : OLinq_table.t -> int
  val num_cols : OLinq_table.t -> int
  val size : OLinq_table.t -> int
  val names : OLinq_table.t -> string array
  val get : int -> OLinq_table.t -> OLinq_table.row option
  val get_exn : int -> OLinq_table.t -> OLinq_table.row
  val get_cell : int -> int -> OLinq_table.t -> OLinq_table.data option
  val get_cell_exn : int -> int -> OLinq_table.t -> OLinq_table.data
  val fold :
    f:('acc -> OLinq_table.row -> 'acc) -> x:'acc -> OLinq_table.t -> 'acc
  val iter : f:(OLinq_table.row -> unit) -> OLinq_table.t -> unit
  val iteri : f:(int -> OLinq_table.row -> unit) -> OLinq_table.t -> unit
  val push : OLinq_table.t -> OLinq_table.row -> unit
  val push_l : OLinq_table.t -> OLinq_table.row list -> unit
  val push_seq :
    OLinq_table.t -> OLinq_table.row OLinq_table.sequence -> unit
  val to_seq : OLinq_table.t -> OLinq_table.row OLinq_table.sequence
  val to_list : OLinq_table.t -> OLinq_table.row list
  val to_list_rev : OLinq_table.t -> OLinq_table.row list
  val print : OLinq_table.t OLinq_table.printer
end