type 'e api_error = | KnownError of {code : int;error : 'e;
}| UnknownError of {code : int;msg : string option;
}
module type RAWGEN = sig ... endmodule type RAW =
RAWGEN
with type ('output, 'error, 'security) service0 :=
('output, 'error, 'security) EzAPI.service0
and type ('arg, 'output, 'error, 'security) service1 :=
('arg, 'output, 'error, 'security) EzAPI.service1
and type ('arg1, 'arg2, 'output, 'error, 'security) service2 :=
('arg1, 'arg2, 'output, 'error, 'security) EzAPI.service2
and type ('input, 'output, 'error, 'security) post_service0 :=
('input, 'output, 'error, 'security) EzAPI.post_service0
and type ('arg, 'input, 'output, 'error, 'security) post_service1 :=
('arg, 'input, 'output, 'error, 'security) EzAPI.post_service1
and type ('arg1, 'arg2, 'input, 'output, 'error, 'security) post_service2 :=
('arg1, 'arg2, 'input, 'output, 'error, 'security)
EzAPI.post_service2
and type ('arg, 'input, 'output, 'error, 'security) service :=
('arg, 'input, 'output, 'error, 'security) EzAPI.service
and type 'error api_error := 'error api_errormodule type LEGACY =
RAWGEN
with type ('output, 'error, 'security) service0 =
'output EzAPI.Legacy.service0
and type ('arg, 'output, 'error, 'security) service1 =
('arg, 'output) EzAPI.Legacy.service1
and type ('arg1, 'arg2, 'output, 'error, 'security) service2 =
('arg1, 'arg2, 'output) EzAPI.Legacy.service2
and type ('input, 'output, 'error, 'security) post_service0 =
('input, 'output) EzAPI.Legacy.post_service0
and type ('arg, 'input, 'output, 'error, 'security) post_service1 =
('arg, 'input, 'output) EzAPI.Legacy.post_service1
and type ('arg1, 'arg2, 'input, 'output, 'error, 'security) post_service2 =
('arg1, 'arg2, 'input, 'output) EzAPI.Legacy.post_service2
and type ('arg, 'input, 'output, 'error, 'security) service =
(unit, 'arg, 'input, 'output) EzAPI.Legacy.service
and type _ api_error = int * string optionmodule type S = sig ... end