val encode :
('a -> (string -> unit) -> unit) ->
('b -> (string -> unit) -> unit) ->
('c -> (string -> unit) -> unit) ->
('d -> (string -> unit) -> unit) ->
('a * 'b * 'c * 'd) ->
(string -> unit) ->
unit
val decode :
(string -> int Stdlib.ref -> 'a) ->
(string -> int Stdlib.ref -> 'b) ->
(string -> int Stdlib.ref -> 'c) ->
(string -> int Stdlib.ref -> 'd) ->
string ->
int Stdlib.ref ->
'a * 'b * 'c * 'd