sig
  type basic =
      Byte
    | Boolean
    | Int16
    | Int32
    | Int64
    | Uint16
    | Uint32
    | Uint64
    | Double
    | String
    | Signature
    | Object_path
    | Unix_fd
  type single =
      Basic of OBus_value.T.basic
    | Structure of OBus_value.T.single list
    | Array of OBus_value.T.single
    | Dict of OBus_value.T.basic * OBus_value.T.single
    | Variant
  type sequence = OBus_value.T.single list
  val byte : OBus_value.T.basic
  val boolean : OBus_value.T.basic
  val int16 : OBus_value.T.basic
  val int32 : OBus_value.T.basic
  val int64 : OBus_value.T.basic
  val uint16 : OBus_value.T.basic
  val uint32 : OBus_value.T.basic
  val uint64 : OBus_value.T.basic
  val double : OBus_value.T.basic
  val string : OBus_value.T.basic
  val signature : OBus_value.T.basic
  val object_path : OBus_value.T.basic
  val unix_fd : OBus_value.T.basic
  val basic : OBus_value.T.basic -> OBus_value.T.single
  val structure : OBus_value.T.single list -> OBus_value.T.single
  val array : OBus_value.T.single -> OBus_value.T.single
  val dict : OBus_value.T.basic -> OBus_value.T.single -> OBus_value.T.single
  val variant : OBus_value.T.single
  val basic_byte : OBus_value.T.single
  val basic_boolean : OBus_value.T.single
  val basic_int16 : OBus_value.T.single
  val basic_int32 : OBus_value.T.single
  val basic_int64 : OBus_value.T.single
  val basic_uint16 : OBus_value.T.single
  val basic_uint32 : OBus_value.T.single
  val basic_uint64 : OBus_value.T.single
  val basic_double : OBus_value.T.single
  val basic_string : OBus_value.T.single
  val basic_signature : OBus_value.T.single
  val basic_object_path : OBus_value.T.single
  val basic_unix_fd : OBus_value.T.single
  val print_basic : Format.formatter -> OBus_value.T.basic -> unit
  val print_single : Format.formatter -> OBus_value.T.single -> unit
  val print_sequence : Format.formatter -> OBus_value.T.sequence -> unit
  val string_of_basic : OBus_value.T.basic -> string
  val string_of_single : OBus_value.T.single -> string
  val string_of_sequence : OBus_value.T.sequence -> string
end