sig

  type 'a t = 'a array * int array
  val make : 'a array array -> 'a CamlinternalMenhirLib.LinearizedArray.t
  val read : 'a CamlinternalMenhirLib.LinearizedArray.t -> int -> int -> 'a
  val write :
    'a CamlinternalMenhirLib.LinearizedArray.t -> int -> int -> 'a -> unit
  val length : 'a CamlinternalMenhirLib.LinearizedArray.t -> int
  val row_length : 'a CamlinternalMenhirLib.LinearizedArray.t -> int -> int
  val read_row : 'a CamlinternalMenhirLib.LinearizedArray.t -> int -> 'a list
  val row_length_via : (int -> int) -> int -> int
  val read_via : (int -> 'a) -> (int -> int) -> int -> int -> 'a
  val read_row_via : (int -> 'a) -> (int -> int) -> int -> 'a list
end