sig
  type args
  type argv = {
    result : Gobject.g_value;
    nargs : int;
    args : Gobject.Closure.args;
  }
  val create : (Gobject.Closure.argv -> unit) -> Gobject.g_closure
  val nth : Gobject.Closure.argv -> pos:int -> Gobject.g_value
  val result : Gobject.Closure.argv -> Gobject.g_value
  val get_result_type : Gobject.Closure.argv -> Gobject.g_type
  val get_type : Gobject.Closure.argv -> pos:int -> Gobject.g_type
  val get : Gobject.Closure.argv -> pos:int -> Gobject.data_get
  val set_result : Gobject.Closure.argv -> 'Gobject.data_set -> unit
  val get_args : Gobject.Closure.argv -> Gobject.data_get list
  val get_pointer : Gobject.Closure.argv -> pos:int -> Gpointer.boxed
  val get_nativeint : Gobject.Closure.argv -> pos:int -> nativeint
  val get_int32 : Gobject.Closure.argv -> pos:int -> int32
end