`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`