sig
  val cast : 'Gobject.obj -> [ `gtk ] Gobject.obj
  external _ref_and_sink : [> `gtk ] Gobject.obj -> unit
    = "ml_gtk_object_ref_and_sink"
  val make :
    classe:string -> ([> `gtk ] as 'a) Gobject.param list -> 'Gobject.obj
  val try_cast : 'Gobject.obj -> string -> 'Gobject.obj
  external destroy : [> `gtk ] Gtk.obj -> unit = "ml_gtk_object_destroy"
  external get_flags : [> `gtk ] Gtk.obj -> int = "ml_GTK_OBJECT_FLAGS"
  val get_flag : [> `gtk ] Gtk.obj -> GtkEnums.widget_flags -> bool
  module S : sig val destroy : ([> `gtk ], unit -> unit) GtkSignal.t end
end