ProcnameDispatcher.TypNameinclude Common
  with type ('context, 'f, 'arg_payload) dispatcher =
         'context ->
         IR.Typ.name ->
         'f optiontype ('context, 'f, 'arg_payload) dispatcher =
  'context ->
  IR.Typ.name ->
  'f optionval make_dispatcher : 
  ('context, 'f, 'arg_payload) matcher list ->
  ('context, 'f, 'arg_payload) dispatcherCombines matchers to create a dispatcher
val any_typ : ('f, 'f, accept_more) template_argEats a type
val capt_typ : (IR.Typ.t -> 'f, 'f, accept_more) template_argCaptures a type
val capt_int : (IStdlib.IStd.Int64.t -> 'f, 'f, accept_more) template_argCaptures an int
val capt_all : (IR.Typ.template_arg list -> 'f, 'f, end_of_list) template_argCaptures all template args
val (~-) : string -> ('context, 'f, 'f, 'arg_payload) name_matcherStarts a path with a name
val (~+) : 
  ('context -> string -> bool) ->
  ('context, 'f, 'f, 'arg_payload) name_matcherStarts a path with a matching name that satisfies the given function
val (&+) : 
  ('context, 'f_in, 'f_interm, accept_more, 'arg_payload) templ_matcher ->
  ('f_interm, 'f_out, 'lc) template_arg ->
  ('context, 'f_in, 'f_out, 'lc, 'arg_payload) templ_matcherSeparate template arguments
val (<) : 
  ('context, 'f_in, 'f_interm, 'arg_payload) name_matcher ->
  ('f_interm, 'f_out, 'lc) template_arg ->
  ('context, 'f_in, 'f_out, 'lc, 'arg_payload) templ_matcherStarts template arguments after a name
val (>::) : 
  ('context, 'f_in, 'f_out, _, 'arg_payload) templ_matcher ->
  string ->
  ('context, 'f_in, 'f_out, 'arg_payload) name_matcherEnds template arguments and starts a name
val (>::+) : 
  ('context, 'f_in, 'f_out, 'lc, 'arg_payload) templ_matcher ->
  ('context -> string -> bool) ->
  ('context, 'f_in, 'f_out, 'arg_payload) name_matcherval (&+...>::) : 
  ('context, 'f_in, 'f_out, accept_more, 'arg_payload) templ_matcher ->
  string ->
  ('context, 'f_in, 'f_out, 'arg_payload) name_matcherEnds template arguments with eats-ALL and starts a name
val (&::) : 
  ('context, 'f_in, 'f_out, 'arg_payload) name_matcher ->
  string ->
  ('context, 'f_in, 'f_out, 'arg_payload) name_matcherSeparates names (accepts ALL template arguments on the left one)
val (&::+) : 
  ('context, 'f_in, 'f_out, 'arg_payload) name_matcher ->
  ('context -> string -> bool) ->
  ('context, 'f_in, 'f_out, 'arg_payload) name_matcherSeparates names that satisfies the given function (accepts ALL template arguments on the left one)
val (<>::) : 
  ('context, 'f_in, 'f_out, 'arg_payload) name_matcher ->
  string ->
  ('context, 'f_in, 'f_out, 'arg_payload) name_matcherSeparates names (accepts NO template arguments on the left one)
val (>-->) : 
  ('context, 'f_in, 'f_out, _, 'arg_payload) templ_matcher ->
  'f_in ->
  ('context, 'f_out, 'arg_payload) matcherEnds template arguments with accept-NO further template arguments
val (&+...>-->) : 
  ('context, 'f_in, 'f_out, accept_more, 'arg_payload) templ_matcher ->
  'f_in ->
  ('context, 'f_out, 'arg_payload) matcherEnds template arguments with accept-ALL further template arguments
val (<>-->) : 
  ('context, 'f_in, 'f_out, 'arg_payload) name_matcher ->
  'f_in ->
  ('context, 'f_out, 'arg_payload) matcherval (&-->) : 
  ('context, 'f_in, 'f_out, 'arg_payload) name_matcher ->
  'f_in ->
  ('context, 'f_out, 'arg_payload) matcherval (&::.*-->) : 
  ('context, 'f_in, 'f_out, 'arg_payload) name_matcher ->
  'f_in ->
  ('context, 'f_out, 'arg_payload) matcherAfter a name, accepts ALL template arguments, accepts ALL path tails (names, templates), accepts ALL function arguments, binds the function