type ('a, 'b) t constraint 'a = 'c ty constraint 'b = [< `COL | `ROW ]
val length : ('a, 'b) t -> int
val of_array : 'a array -> ('a, [ `ROW ]) t
val array_map : f:('a -> 'b ty) -> 'a array -> ('b ty, [ `ROW ]) t
val init : int -> f:(int -> 'a ty) -> ('a ty, [ `ROW ]) t
val equal : ('a, 'b) t -> ('a, 'b) t -> bool
val slice : ('a, 'b) t -> start:int -> stop:int -> ('a, 'b) t
val (.%[]) : ('a, 'b) t -> int -> 'a
val (.%[]<-) : ('a, 'b) t -> int -> 'a -> unit
val mul : ('a, [ `ROW ]) t -> ('a, [ `COL ]) t -> 'a
val add : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t
val sub : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t
val neg : ('a, 'b) t -> ('a, 'b) t
val transpose_row : ('a, [ `ROW ]) t -> ('a, [ `COL ]) t
val transpose_column : ('a, [ `COL ]) t -> ('a, [ `ROW ]) t
val to_set : ('a, 'b) t -> 'a Set.t
val singleton : 'a -> ('a, 'b) t
val concat : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t
val inj : ('a, 'b) t -> inj:('a -> 'c) -> ('c, 'b) t
val to_string : ('a, 'b) t -> string
module Infix : sig ... end