sig
type 'a t = (Buffer.t -> 'a -> unit) * (string -> int -> int -> int * 'a)
exception Too_short of string
val unit : unit Serialize.t
val char : char Serialize.t
val int : int Serialize.t
val float : float Serialize.t
val string : string Serialize.t
val int31 : int Serialize.t
val pair : 'a Serialize.t -> 'b Serialize.t -> ('a * 'b) Serialize.t
val list : 'a Serialize.t -> 'a list Serialize.t
val map : 'a Serialize.t -> ('a -> 'b) -> ('b -> 'a) -> 'b Serialize.t
val marshal : 'a Serialize.t
end