sig
  val cast : 'Gobject.obj -> Gtk.list_store
  external create : Gobject.g_type array -> Gtk.list_store
    = "ml_gtk_list_store_newv"
  external set_value :
    Gtk.list_store ->
    row:Gtk.tree_iter -> column:int -> Gobject.g_value -> unit
    = "ml_gtk_list_store_set_value"
  external remove : Gtk.list_store -> Gtk.tree_iter -> bool
    = "ml_gtk_list_store_remove"
  val insert : Gtk.list_store -> int -> Gtk.tree_iter
  val insert_before : Gtk.list_store -> Gtk.tree_iter -> Gtk.tree_iter
  val insert_after : Gtk.list_store -> Gtk.tree_iter -> Gtk.tree_iter
  val append : Gtk.list_store -> unit -> Gtk.tree_iter
  val prepend : Gtk.list_store -> unit -> Gtk.tree_iter
  external clear : Gtk.list_store -> unit = "ml_gtk_list_store_clear"
  external iter_is_valid : Gtk.list_store -> Gtk.tree_iter -> bool
    = "ml_gtk_list_store_iter_is_valid"
  external swap : Gtk.list_store -> Gtk.tree_iter -> Gtk.tree_iter -> bool
    = "ml_gtk_list_store_swap"
  external move_before :
    Gtk.list_store -> iter:Gtk.tree_iter -> pos:Gtk.tree_iter -> bool
    = "ml_gtk_list_store_move_before"
  external move_after :
    Gtk.list_store -> iter:Gtk.tree_iter -> pos:Gtk.tree_iter -> bool
    = "ml_gtk_list_store_move_after"
end