sig
  type 'a coord = { x : 'a; y : 'a; }
  type attribute = Bool of bool | Other of string
  type data
  type 'a example = { ex_category : 'a; ex_data : Types.data; }
  val sort : ('-> 'b) -> 'a list -> 'a list list
  val sort_by_cat : 'Types.example list -> ('a * Types.data list) list
  val count : Types.data list -> (Types.attribute * int) list array
  val print_attribute : Types.attribute -> unit
  val create : Types.attribute array -> Types.data
  val copy : Types.data -> Types.data
  val set : Types.data -> int -> Types.attribute -> unit
  val get_data : Types.data -> int -> Types.attribute
end