sig
  type 'a basic
  type 'a single
  type 'a sequence
  val byte : char OBus_value.C.basic
  val boolean : bool OBus_value.C.basic
  val int16 : int OBus_value.C.basic
  val int32 : int32 OBus_value.C.basic
  val int64 : int64 OBus_value.C.basic
  val uint16 : int OBus_value.C.basic
  val uint32 : int32 OBus_value.C.basic
  val uint64 : int64 OBus_value.C.basic
  val double : float OBus_value.C.basic
  val string : string OBus_value.C.basic
  val signature : OBus_value.signature OBus_value.C.basic
  val object_path : OBus_path.t OBus_value.C.basic
  val unix_fd : Unix.file_descr OBus_value.C.basic
  val basic : 'OBus_value.C.basic -> 'OBus_value.C.single
  val structure : 'OBus_value.C.sequence -> 'OBus_value.C.single
  val byte_array : string OBus_value.C.single
  val array : 'OBus_value.C.single -> 'a list OBus_value.C.single
  val dict :
    'OBus_value.C.basic ->
    'OBus_value.C.single -> ('a * 'b) list OBus_value.C.single
  val variant : OBus_value.V.single OBus_value.C.single
  val basic_byte : char OBus_value.C.single
  val basic_boolean : bool OBus_value.C.single
  val basic_int16 : int OBus_value.C.single
  val basic_int32 : int32 OBus_value.C.single
  val basic_int64 : int64 OBus_value.C.single
  val basic_uint16 : int OBus_value.C.single
  val basic_uint32 : int32 OBus_value.C.single
  val basic_uint64 : int64 OBus_value.C.single
  val basic_double : float OBus_value.C.single
  val basic_string : string OBus_value.C.single
  val basic_signature : OBus_value.signature OBus_value.C.single
  val basic_object_path : OBus_path.t OBus_value.C.single
  val basic_unix_fd : Unix.file_descr OBus_value.C.single
  val type_basic : 'OBus_value.C.basic -> OBus_value.T.basic
  val type_single : 'OBus_value.C.single -> OBus_value.T.single
  val type_sequence : 'OBus_value.C.sequence -> OBus_value.T.sequence
  val make_basic : 'OBus_value.C.basic -> '-> OBus_value.V.basic
  val make_single : 'OBus_value.C.single -> '-> OBus_value.V.single
  val make_sequence : 'OBus_value.C.sequence -> '-> OBus_value.V.sequence
  exception Signature_mismatch
  val cast_basic : 'OBus_value.C.basic -> OBus_value.V.basic -> 'a
  val cast_single : 'OBus_value.C.single -> OBus_value.V.single -> 'a
  val cast_sequence : 'OBus_value.C.sequence -> OBus_value.V.sequence -> 'a
  val dyn_basic : OBus_value.T.basic -> OBus_value.V.basic OBus_value.C.basic
  val dyn_single :
    OBus_value.T.single -> OBus_value.V.single OBus_value.C.single
  val dyn_sequence :
    OBus_value.T.sequence -> OBus_value.V.sequence OBus_value.C.sequence
  val seq0 : unit OBus_value.C.sequence
  val seq1 : 'a1 OBus_value.C.single -> 'a1 OBus_value.C.sequence
  val seq2 :
    'a1 OBus_value.C.single ->
    'a2 OBus_value.C.single -> ('a1 * 'a2) OBus_value.C.sequence
  val seq3 :
    'a1 OBus_value.C.single ->
    'a2 OBus_value.C.single ->
    'a3 OBus_value.C.single -> ('a1 * 'a2 * 'a3) OBus_value.C.sequence
  val seq4 :
    'a1 OBus_value.C.single ->
    'a2 OBus_value.C.single ->
    'a3 OBus_value.C.single ->
    'a4 OBus_value.C.single -> ('a1 * 'a2 * 'a3 * 'a4) OBus_value.C.sequence
  val seq5 :
    'a1 OBus_value.C.single ->
    'a2 OBus_value.C.single ->
    'a3 OBus_value.C.single ->
    'a4 OBus_value.C.single ->
    'a5 OBus_value.C.single ->
    ('a1 * 'a2 * 'a3 * 'a4 * 'a5) OBus_value.C.sequence
  val seq6 :
    'a1 OBus_value.C.single ->
    'a2 OBus_value.C.single ->
    'a3 OBus_value.C.single ->
    'a4 OBus_value.C.single ->
    'a5 OBus_value.C.single ->
    'a6 OBus_value.C.single ->
    ('a1 * 'a2 * 'a3 * 'a4 * 'a5 * 'a6) OBus_value.C.sequence
  val seq7 :
    'a1 OBus_value.C.single ->
    'a2 OBus_value.C.single ->
    'a3 OBus_value.C.single ->
    'a4 OBus_value.C.single ->
    'a5 OBus_value.C.single ->
    'a6 OBus_value.C.single ->
    'a7 OBus_value.C.single ->
    ('a1 * 'a2 * 'a3 * 'a4 * 'a5 * 'a6 * 'a7) OBus_value.C.sequence
  val seq8 :
    'a1 OBus_value.C.single ->
    'a2 OBus_value.C.single ->
    'a3 OBus_value.C.single ->
    'a4 OBus_value.C.single ->
    'a5 OBus_value.C.single ->
    'a6 OBus_value.C.single ->
    'a7 OBus_value.C.single ->
    'a8 OBus_value.C.single ->
    ('a1 * 'a2 * 'a3 * 'a4 * 'a5 * 'a6 * 'a7 * 'a8) OBus_value.C.sequence
  val seq9 :
    'a1 OBus_value.C.single ->
    'a2 OBus_value.C.single ->
    'a3 OBus_value.C.single ->
    'a4 OBus_value.C.single ->
    'a5 OBus_value.C.single ->
    'a6 OBus_value.C.single ->
    'a7 OBus_value.C.single ->
    'a8 OBus_value.C.single ->
    'a9 OBus_value.C.single ->
    ('a1 * 'a2 * 'a3 * 'a4 * 'a5 * 'a6 * 'a7 * 'a8 * 'a9)
    OBus_value.C.sequence
  val seq10 :
    'a1 OBus_value.C.single ->
    'a2 OBus_value.C.single ->
    'a3 OBus_value.C.single ->
    'a4 OBus_value.C.single ->
    'a5 OBus_value.C.single ->
    'a6 OBus_value.C.single ->
    'a7 OBus_value.C.single ->
    'a8 OBus_value.C.single ->
    'a9 OBus_value.C.single ->
    'a10 OBus_value.C.single ->
    ('a1 * 'a2 * 'a3 * 'a4 * 'a5 * 'a6 * 'a7 * 'a8 * 'a9 * 'a10)
    OBus_value.C.sequence
  val seq11 :
    'a1 OBus_value.C.single ->
    'a2 OBus_value.C.single ->
    'a3 OBus_value.C.single ->
    'a4 OBus_value.C.single ->
    'a5 OBus_value.C.single ->
    'a6 OBus_value.C.single ->
    'a7 OBus_value.C.single ->
    'a8 OBus_value.C.single ->
    'a9 OBus_value.C.single ->
    'a10 OBus_value.C.single ->
    'a11 OBus_value.C.single ->
    ('a1 * 'a2 * 'a3 * 'a4 * 'a5 * 'a6 * 'a7 * 'a8 * 'a9 * 'a10 * 'a11)
    OBus_value.C.sequence
  val seq12 :
    'a1 OBus_value.C.single ->
    'a2 OBus_value.C.single ->
    'a3 OBus_value.C.single ->
    'a4 OBus_value.C.single ->
    'a5 OBus_value.C.single ->
    'a6 OBus_value.C.single ->
    'a7 OBus_value.C.single ->
    'a8 OBus_value.C.single ->
    'a9 OBus_value.C.single ->
    'a10 OBus_value.C.single ->
    'a11 OBus_value.C.single ->
    'a12 OBus_value.C.single ->
    ('a1 * 'a2 * 'a3 * 'a4 * 'a5 * 'a6 * 'a7 * 'a8 * 'a9 * 'a10 * 'a11 * 'a12)
    OBus_value.C.sequence
  val seq13 :
    'a1 OBus_value.C.single ->
    'a2 OBus_value.C.single ->
    'a3 OBus_value.C.single ->
    'a4 OBus_value.C.single ->
    'a5 OBus_value.C.single ->
    'a6 OBus_value.C.single ->
    'a7 OBus_value.C.single ->
    'a8 OBus_value.C.single ->
    'a9 OBus_value.C.single ->
    'a10 OBus_value.C.single ->
    'a11 OBus_value.C.single ->
    'a12 OBus_value.C.single ->
    'a13 OBus_value.C.single ->
    ('a1 * 'a2 * 'a3 * 'a4 * 'a5 * 'a6 * 'a7 * 'a8 * 'a9 * 'a10 * 'a11 *
     'a12 * 'a13)
    OBus_value.C.sequence
  val seq14 :
    'a1 OBus_value.C.single ->
    'a2 OBus_value.C.single ->
    'a3 OBus_value.C.single ->
    'a4 OBus_value.C.single ->
    'a5 OBus_value.C.single ->
    'a6 OBus_value.C.single ->
    'a7 OBus_value.C.single ->
    'a8 OBus_value.C.single ->
    'a9 OBus_value.C.single ->
    'a10 OBus_value.C.single ->
    'a11 OBus_value.C.single ->
    'a12 OBus_value.C.single ->
    'a13 OBus_value.C.single ->
    'a14 OBus_value.C.single ->
    ('a1 * 'a2 * 'a3 * 'a4 * 'a5 * 'a6 * 'a7 * 'a8 * 'a9 * 'a10 * 'a11 *
     'a12 * 'a13 * 'a14)
    OBus_value.C.sequence
  val seq15 :
    'a1 OBus_value.C.single ->
    'a2 OBus_value.C.single ->
    'a3 OBus_value.C.single ->
    'a4 OBus_value.C.single ->
    'a5 OBus_value.C.single ->
    'a6 OBus_value.C.single ->
    'a7 OBus_value.C.single ->
    'a8 OBus_value.C.single ->
    'a9 OBus_value.C.single ->
    'a10 OBus_value.C.single ->
    'a11 OBus_value.C.single ->
    'a12 OBus_value.C.single ->
    'a13 OBus_value.C.single ->
    'a14 OBus_value.C.single ->
    'a15 OBus_value.C.single ->
    ('a1 * 'a2 * 'a3 * 'a4 * 'a5 * 'a6 * 'a7 * 'a8 * 'a9 * 'a10 * 'a11 *
     'a12 * 'a13 * 'a14 * 'a15)
    OBus_value.C.sequence
  val seq16 :
    'a1 OBus_value.C.single ->
    'a2 OBus_value.C.single ->
    'a3 OBus_value.C.single ->
    'a4 OBus_value.C.single ->
    'a5 OBus_value.C.single ->
    'a6 OBus_value.C.single ->
    'a7 OBus_value.C.single ->
    'a8 OBus_value.C.single ->
    'a9 OBus_value.C.single ->
    'a10 OBus_value.C.single ->
    'a11 OBus_value.C.single ->
    'a12 OBus_value.C.single ->
    'a13 OBus_value.C.single ->
    'a14 OBus_value.C.single ->
    'a15 OBus_value.C.single ->
    'a16 OBus_value.C.single ->
    ('a1 * 'a2 * 'a3 * 'a4 * 'a5 * 'a6 * 'a7 * 'a8 * 'a9 * 'a10 * 'a11 *
     'a12 * 'a13 * 'a14 * 'a15 * 'a16)
    OBus_value.C.sequence
end