sig
  type t =
      Abstract
    | Structure of Unmarshal.structure
    | Transform of Unmarshal.t * (Obj.t -> Obj.t)
    | Return of Unmarshal.t * (unit -> Obj.t)
    | Dynamic of (unit -> Unmarshal.t)
  and structure =
      Sum of Unmarshal.t array array
    | Dependent_pair of Unmarshal.t * (Obj.t -> Unmarshal.t)
    | Array of Unmarshal.t
  val input_val : Pervasives.in_channel -> Unmarshal.t -> 'a
  val null : Obj.t
  val id : Obj.t -> Obj.t
  val t_unit : Unmarshal.t
  val t_int : Unmarshal.t
  val t_string : Unmarshal.t
  val t_float : Unmarshal.t
  val t_bool : Unmarshal.t
  val t_int32 : Unmarshal.t
  val t_int64 : Unmarshal.t
  val t_nativeint : Unmarshal.t
  val t_record : Unmarshal.t array -> Unmarshal.t
  val t_tuple : Unmarshal.t array -> Unmarshal.t
  val t_list : Unmarshal.t -> Unmarshal.t
  val t_ref : Unmarshal.t -> Unmarshal.t
  val t_option : Unmarshal.t -> Unmarshal.t
  val t_array : Unmarshal.t -> Unmarshal.t
  val t_queue : Unmarshal.t -> Unmarshal.t
  val t_hashtbl_unchangedhashs : Unmarshal.t -> Unmarshal.t -> Unmarshal.t
  val t_hashtbl_changedhashs :
    (int -> 'table) ->
    ('table -> 'key -> 'value -> unit) ->
    Unmarshal.t -> Unmarshal.t -> Unmarshal.t
  val t_set_unchangedcompares : Unmarshal.t -> Unmarshal.t
  val t_map_unchangedcompares : Unmarshal.t -> Unmarshal.t -> Unmarshal.t
  val register_custom : string -> (Pervasives.in_channel -> Obj.t) -> unit
  val arch_sixtyfour : bool
  val arch_bigendian : bool
  val getword : Pervasives.in_channel -> Int32.t
  val read8s : Pervasives.in_channel -> int
  val read16s : Pervasives.in_channel -> int
  val read32s : Pervasives.in_channel -> int
  val read64s : Pervasives.in_channel -> int
  val read8u : Pervasives.in_channel -> int
  val read16u : Pervasives.in_channel -> int
  val read32u : Pervasives.in_channel -> int
  val read64u : Pervasives.in_channel -> int
  val readblock : Pervasives.in_channel -> Obj.t -> int -> int -> unit
  val readblock_rev : Pervasives.in_channel -> Obj.t -> int -> int -> unit
end