functor (A : sig type t end->
  sig
    type custom_list = { finfo : A.t; fidx : int; }
    val inbound : int -> 'a array -> bool
    class custom_list_class :
      GTree.column_list ->
      object
        val id : int
        val obj : Gtk.tree_model_custom
        method as_model : Gtk.tree_model
        method clear : unit -> unit
        method coerce : GTree.model
        method connect : GTree.model_signals
        method custom_decode_iter :
          Gtk_helper.MAKE_CUSTOM_LIST.custom_list ->
          unit -> unit -> Gtk_helper.MAKE_CUSTOM_LIST.custom_list
        method custom_encode_iter :
          Gtk_helper.MAKE_CUSTOM_LIST.custom_list ->
          Gtk_helper.MAKE_CUSTOM_LIST.custom_list * unit * unit
        method custom_flags : GtkEnums.tree_model_flags list
        method custom_get_column_type : int -> Gobject.g_type
        method custom_get_iter :
          Gtk.tree_path -> Gtk_helper.MAKE_CUSTOM_LIST.custom_list option
        method custom_get_path :
          Gtk_helper.MAKE_CUSTOM_LIST.custom_list -> Gtk.tree_path
        method custom_get_value :
          Gtk_helper.MAKE_CUSTOM_LIST.custom_list ->
          int -> Gobject.g_value -> unit
        method custom_iter_children :
          Gtk_helper.MAKE_CUSTOM_LIST.custom_list option ->
          Gtk_helper.MAKE_CUSTOM_LIST.custom_list option
        method custom_iter_has_child :
          Gtk_helper.MAKE_CUSTOM_LIST.custom_list -> bool
        method custom_iter_n_children :
          Gtk_helper.MAKE_CUSTOM_LIST.custom_list option -> int
        method custom_iter_next :
          Gtk_helper.MAKE_CUSTOM_LIST.custom_list ->
          Gtk_helper.MAKE_CUSTOM_LIST.custom_list option
        method custom_iter_nth_child :
          Gtk_helper.MAKE_CUSTOM_LIST.custom_list option ->
          int -> Gtk_helper.MAKE_CUSTOM_LIST.custom_list option
        method custom_iter_parent :
          Gtk_helper.MAKE_CUSTOM_LIST.custom_list ->
          Gtk_helper.MAKE_CUSTOM_LIST.custom_list option
        method custom_n_columns : int
        method custom_ref_node :
          Gtk_helper.MAKE_CUSTOM_LIST.custom_list -> unit
        method custom_row_changed :
          Gtk.tree_path -> Gtk_helper.MAKE_CUSTOM_LIST.custom_list -> unit
        method custom_row_deleted : Gtk.tree_path -> unit
        method custom_row_has_child_toggled :
          Gtk.tree_path -> Gtk_helper.MAKE_CUSTOM_LIST.custom_list -> unit
        method custom_row_inserted :
          Gtk.tree_path -> Gtk_helper.MAKE_CUSTOM_LIST.custom_list -> unit
        method custom_rows_reordered :
          Gtk.tree_path ->
          Gtk_helper.MAKE_CUSTOM_LIST.custom_list option -> int array -> unit
        method custom_unref_node :
          Gtk_helper.MAKE_CUSTOM_LIST.custom_list -> unit
        method custom_value :
          Gobject.g_type ->
          Gtk_helper.MAKE_CUSTOM_LIST.custom_list ->
          column:int -> Gobject.basic
        method flags : GtkEnums.tree_model_flags list
        method foreach : (Gtk.tree_path -> Gtk.tree_iter -> bool) -> unit
        method get : row:Gtk.tree_iter -> column:'GTree.column -> 'b
        method get_column_type : int -> Gobject.g_type
        method get_iter : Gtk.tree_path -> Gtk.tree_iter
        method get_iter_first : Gtk.tree_iter option
        method get_path : Gtk.tree_iter -> Gtk.tree_path
        method get_row_reference : Gtk.tree_path -> GTree.row_reference
        method insert : A.t -> unit
        method iter_children :
          ?nth:int -> Gtk.tree_iter option -> Gtk.tree_iter
        method iter_has_child : Gtk.tree_iter -> bool
        method iter_n_children : Gtk.tree_iter option -> int
        method iter_next : Gtk.tree_iter -> bool
        method iter_parent : Gtk.tree_iter -> Gtk.tree_iter option
        method misc : GObj.gobject_ops
        method n_columns : int
        method row_changed : Gtk.tree_path -> Gtk.tree_iter -> unit
      end
    val custom_list : unit -> Gtk_helper.MAKE_CUSTOM_LIST.custom_list_class
    val make_view_column :
      Gtk_helper.MAKE_CUSTOM_LIST.custom_list_class ->
      ('b, 'a) #GTree.cell_renderer_skel ->
      (A.t -> 'a list) -> title:string -> GTree.view_column
  end