sig
  val on : 'a option -> ('a -> unit) -> unit
  val fire : ('a -> unit) list -> 'a -> unit
  val once : ('a -> 'b) -> 'a -> 'b
  val share : string Pervasives.ref
  val flush : (string -> unit) Pervasives.ref
  val warning : ('a, Format.formatter, unit) Pervasives.format -> 'a
  val set_tooltip : #GObj.widget -> string option -> unit
  val set_small_font : #GObj.widget -> unit
  val set_bold_font : #GObj.widget -> unit
  val to_utf8 : string -> string
  val later : (unit -> unit) -> unit
  class virtual ['a] handler :
    object
      method virtual connect : ('a -> unit) -> unit
      method on_check : 'a -> (bool -> unit) -> unit
      method on_event : (unit -> unit) -> unit
      method on_value : 'a -> (unit -> unit) -> unit
    end
  class ['a] signal :
    object
      method connect : ('a -> unit) -> unit
      method fire : 'a -> unit
      method lock : (unit -> unit) -> unit
      method on_check : 'a -> (bool -> unit) -> unit
      method on_event : (unit -> unit) -> unit
      method on_value : 'a -> (unit -> unit) -> unit
      method set_enabled : bool -> unit
    end
  class ['a] selector :
    'a ->
    object
      method connect : ('a -> unit) -> unit
      method fire : 'a -> unit
      method get : 'a
      method lock : (unit -> unit) -> unit
      method on_check : 'a -> (bool -> unit) -> unit
      method on_event : (unit -> unit) -> unit
      method on_value : 'a -> (unit -> unit) -> unit
      method send : ('a -> unit) -> unit -> unit
      method set : 'a -> unit
      method set_enabled : bool -> unit
    end
  class coerce :
    #GObj.widget ->
    object method coerce : GObj.widget method set_enabled : bool -> unit end
end