Module MakeService.Internal
type 'a arg = {id : 'a Ty.id;destruct : string -> ('a, string) Stdlib.result;construct : 'a -> string;descr : Arg.descr;
}type (_, _) path = | Root : ('rkey, 'rkey) path| Static : ('rkey, 'key) path * string -> ('rkey, 'key) path| Dynamic : ('rkey, 'key) path * 'a arg -> ('rkey, 'key * 'a) path| DynamicTail : ('rkey, 'key) path * 'a arg -> ('rkey, 'key * 'a list) path
and ('a, 'b) query_field = | Single : {name : string;description : string option;ty : 'b arg;default : 'b;get : 'a -> 'b;
} -> ('a, 'b) query_field| Opt : {name : string;description : string option;ty : 'b arg;get : 'a -> 'b option;
} -> ('a, 'b option) query_field| Flag : {name : string;description : string option;get : 'a -> bool;
} -> ('a, bool) query_field| Multi : {name : string;description : string option;ty : 'b arg;get : 'a -> 'b list;
} -> ('a, 'b list) query_field
val field_description : ('a, 'b) query_field -> string optiontype (+'meth, 'prefix, 'params, 'query, 'input, 'output, 'error) iservice = {description : string option;meth : 'meth;path : ('prefix, 'params) path;types : ('query, 'input, 'output, 'error) types;
} constraint 'meth = [< meth ]type (_, _) eq = | Eq : (('query, 'input, 'output, 'error) types,
('query, 'input, 'output, 'error) types)
eq
val eq :
('query1, 'input1, 'output1, 'error1) types ->
('query2, 'input2, 'output2, 'error2) types ->
(('query1, 'input1, 'output1, 'error1) types,
('query2, 'input2, 'output2, 'error2) types)
eqval from_service :
('meth, 'prefix, 'params, 'query, 'input, 'output, 'error) iservice ->
('meth, 'prefix, 'params, 'query, 'input, 'output, 'error) serviceval to_service :
('meth, 'prefix, 'params, 'query, 'input, 'output, 'error) service ->
('meth, 'prefix, 'params, 'query, 'input, 'output, 'error) iservice