sig   type 'a route = string list -> ('-> unit -> unit) option   val router :     ?base_path:string ->     'Sharp_core.t -> 'Sharp_router.route list -> unit -> unit   val router_ :     ?base_path:string -> unit Sharp_router.route list -> unit -> unit   module type Part =     sig       type t       type 'a parse_func       type 'a parse_opt_func       type 'a generate_func       val parse :         Sharp_router.Part.t ->         'Sharp_router.Part.parse_func -> 'Sharp_router.route       val parse_opt :         Sharp_router.Part.t ->         'Sharp_router.Part.parse_opt_func -> 'Sharp_router.route       val generate :         Sharp_router.Part.t -> string list Sharp_router.Part.generate_func       val generate_ :         string list ->         Sharp_router.Part.t -> string list Sharp_router.Part.generate_func       val to_fragment :         Sharp_router.Part.t -> string Sharp_router.Part.generate_func       val to_fragment_ :         string ->         Sharp_router.Part.t -> string Sharp_router.Part.generate_func     end   module Final :     sig       type t = Empty       type 'a parse_func = '-> unit -> unit       type 'a parse_opt_func = ('-> unit -> unit) option       type 'a generate_func = 'a       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val empty : Sharp_router.Final.t     end   module Var :     functor (Rest : Part->       sig         type t = Var of Rest.t         type 'a parse_func = string -> 'Rest.parse_func         type 'a parse_opt_func = string -> 'Rest.parse_opt_func         type 'a generate_func = string -> 'Rest.generate_func         val parse : t -> 'a parse_func -> 'a route         val parse_opt : t -> 'a parse_opt_func -> 'a route         val generate : t -> string list generate_func         val generate_ : string list -> t -> string list generate_func         val to_fragment : t -> string generate_func         val to_fragment_ : string -> t -> string generate_func         val var : Rest.t -> Sharp_router.Var.t       end   module Const :     functor (Rest : Part->       sig         type t = Const of string * Rest.t         type 'a parse_func = 'Rest.parse_func         type 'a parse_opt_func = 'Rest.parse_opt_func         type 'a generate_func = 'Rest.generate_func         val parse : t -> 'a parse_func -> 'a route         val parse_opt : t -> 'a parse_opt_func -> 'a route         val generate : t -> string list generate_func         val generate_ : string list -> t -> string list generate_func         val to_fragment : t -> string generate_func         val to_fragment_ : string -> t -> string generate_func         val const : string -> Rest.t -> Sharp_router.Const.t       end   val empty : Sharp_router.Final.t   val ( ^/ ) : ('-> 'b) -> '-> 'b   val ( ^// ) : ('-> 'b) -> (Sharp_router.Final.t -> 'a) -> 'b   module CF :     sig       type t = Const(Final).t = Const of string * Final.t       type 'a parse_func = 'Final.parse_func       type 'a parse_opt_func = 'Final.parse_opt_func       type 'a generate_func = 'Final.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> Final.t -> t     end   module VF :     sig       type t = Var(Final).t = Var of Final.t       type 'a parse_func = string -> 'Final.parse_func       type 'a parse_opt_func = string -> 'Final.parse_opt_func       type 'a generate_func = string -> 'Final.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : Final.t -> t     end   module CCF :     sig       type t = Const(CF).t = Const of string * CF.t       type 'a parse_func = 'CF.parse_func       type 'a parse_opt_func = 'CF.parse_opt_func       type 'a generate_func = 'CF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> CF.t -> t     end   module VCF :     sig       type t = Var(CF).t = Var of CF.t       type 'a parse_func = string -> 'CF.parse_func       type 'a parse_opt_func = string -> 'CF.parse_opt_func       type 'a generate_func = string -> 'CF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : CF.t -> t     end   module VVF :     sig       type t = Var(VF).t = Var of VF.t       type 'a parse_func = string -> 'VF.parse_func       type 'a parse_opt_func = string -> 'VF.parse_opt_func       type 'a generate_func = string -> 'VF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : VF.t -> t     end   module CVF :     sig       type t = Const(VF).t = Const of string * VF.t       type 'a parse_func = 'VF.parse_func       type 'a parse_opt_func = 'VF.parse_opt_func       type 'a generate_func = 'VF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> VF.t -> t     end   module CCCF :     sig       type t = Const(CCF).t = Const of string * CCF.t       type 'a parse_func = 'CCF.parse_func       type 'a parse_opt_func = 'CCF.parse_opt_func       type 'a generate_func = 'CCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> CCF.t -> t     end   module CVCF :     sig       type t = Const(VCF).t = Const of string * VCF.t       type 'a parse_func = 'VCF.parse_func       type 'a parse_opt_func = 'VCF.parse_opt_func       type 'a generate_func = 'VCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> VCF.t -> t     end   module CVVF :     sig       type t = Const(VVF).t = Const of string * VVF.t       type 'a parse_func = 'VVF.parse_func       type 'a parse_opt_func = 'VVF.parse_opt_func       type 'a generate_func = 'VVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> VVF.t -> t     end   module CCVF :     sig       type t = Const(CVF).t = Const of string * CVF.t       type 'a parse_func = 'CVF.parse_func       type 'a parse_opt_func = 'CVF.parse_opt_func       type 'a generate_func = 'CVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> CVF.t -> t     end   module VCCF :     sig       type t = Var(CCF).t = Var of CCF.t       type 'a parse_func = string -> 'CCF.parse_func       type 'a parse_opt_func = string -> 'CCF.parse_opt_func       type 'a generate_func = string -> 'CCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : CCF.t -> t     end   module VVCF :     sig       type t = Var(VCF).t = Var of VCF.t       type 'a parse_func = string -> 'VCF.parse_func       type 'a parse_opt_func = string -> 'VCF.parse_opt_func       type 'a generate_func = string -> 'VCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : VCF.t -> t     end   module VVVF :     sig       type t = Var(VVF).t = Var of VVF.t       type 'a parse_func = string -> 'VVF.parse_func       type 'a parse_opt_func = string -> 'VVF.parse_opt_func       type 'a generate_func = string -> 'VVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : VVF.t -> t     end   module VCVF :     sig       type t = Var(CVF).t = Var of CVF.t       type 'a parse_func = string -> 'CVF.parse_func       type 'a parse_opt_func = string -> 'CVF.parse_opt_func       type 'a generate_func = string -> 'CVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : CVF.t -> t     end   module CCCCF :     sig       type t = Const(CCCF).t = Const of string * CCCF.t       type 'a parse_func = 'CCCF.parse_func       type 'a parse_opt_func = 'CCCF.parse_opt_func       type 'a generate_func = 'CCCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> CCCF.t -> t     end   module CCVCF :     sig       type t = Const(CVCF).t = Const of string * CVCF.t       type 'a parse_func = 'CVCF.parse_func       type 'a parse_opt_func = 'CVCF.parse_opt_func       type 'a generate_func = 'CVCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> CVCF.t -> t     end   module CCVVF :     sig       type t = Const(CVVF).t = Const of string * CVVF.t       type 'a parse_func = 'CVVF.parse_func       type 'a parse_opt_func = 'CVVF.parse_opt_func       type 'a generate_func = 'CVVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> CVVF.t -> t     end   module CCCVF :     sig       type t = Const(CCVF).t = Const of string * CCVF.t       type 'a parse_func = 'CCVF.parse_func       type 'a parse_opt_func = 'CCVF.parse_opt_func       type 'a generate_func = 'CCVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> CCVF.t -> t     end   module CVCCF :     sig       type t = Const(VCCF).t = Const of string * VCCF.t       type 'a parse_func = 'VCCF.parse_func       type 'a parse_opt_func = 'VCCF.parse_opt_func       type 'a generate_func = 'VCCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> VCCF.t -> t     end   module CVVCF :     sig       type t = Const(VVCF).t = Const of string * VVCF.t       type 'a parse_func = 'VVCF.parse_func       type 'a parse_opt_func = 'VVCF.parse_opt_func       type 'a generate_func = 'VVCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> VVCF.t -> t     end   module CVVVF :     sig       type t = Const(VVVF).t = Const of string * VVVF.t       type 'a parse_func = 'VVVF.parse_func       type 'a parse_opt_func = 'VVVF.parse_opt_func       type 'a generate_func = 'VVVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> VVVF.t -> t     end   module CVCVF :     sig       type t = Const(VCVF).t = Const of string * VCVF.t       type 'a parse_func = 'VCVF.parse_func       type 'a parse_opt_func = 'VCVF.parse_opt_func       type 'a generate_func = 'VCVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> VCVF.t -> t     end   module VCCCF :     sig       type t = Var(CCCF).t = Var of CCCF.t       type 'a parse_func = string -> 'CCCF.parse_func       type 'a parse_opt_func = string -> 'CCCF.parse_opt_func       type 'a generate_func = string -> 'CCCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : CCCF.t -> t     end   module VCVCF :     sig       type t = Var(CVCF).t = Var of CVCF.t       type 'a parse_func = string -> 'CVCF.parse_func       type 'a parse_opt_func = string -> 'CVCF.parse_opt_func       type 'a generate_func = string -> 'CVCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : CVCF.t -> t     end   module VCVVF :     sig       type t = Var(CVVF).t = Var of CVVF.t       type 'a parse_func = string -> 'CVVF.parse_func       type 'a parse_opt_func = string -> 'CVVF.parse_opt_func       type 'a generate_func = string -> 'CVVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : CVVF.t -> t     end   module VCCVF :     sig       type t = Var(CCVF).t = Var of CCVF.t       type 'a parse_func = string -> 'CCVF.parse_func       type 'a parse_opt_func = string -> 'CCVF.parse_opt_func       type 'a generate_func = string -> 'CCVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : CCVF.t -> t     end   module VVCCF :     sig       type t = Var(VCCF).t = Var of VCCF.t       type 'a parse_func = string -> 'VCCF.parse_func       type 'a parse_opt_func = string -> 'VCCF.parse_opt_func       type 'a generate_func = string -> 'VCCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : VCCF.t -> t     end   module VVVCF :     sig       type t = Var(VVCF).t = Var of VVCF.t       type 'a parse_func = string -> 'VVCF.parse_func       type 'a parse_opt_func = string -> 'VVCF.parse_opt_func       type 'a generate_func = string -> 'VVCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : VVCF.t -> t     end   module VVVVF :     sig       type t = Var(VVVF).t = Var of VVVF.t       type 'a parse_func = string -> 'VVVF.parse_func       type 'a parse_opt_func = string -> 'VVVF.parse_opt_func       type 'a generate_func = string -> 'VVVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : VVVF.t -> t     end   module VVCVF :     sig       type t = Var(VCVF).t = Var of VCVF.t       type 'a parse_func = string -> 'VCVF.parse_func       type 'a parse_opt_func = string -> 'VCVF.parse_opt_func       type 'a generate_func = string -> 'VCVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : VCVF.t -> t     end   module CCCCCF :     sig       type t = Const(CCCCF).t = Const of string * CCCCF.t       type 'a parse_func = 'CCCCF.parse_func       type 'a parse_opt_func = 'CCCCF.parse_opt_func       type 'a generate_func = 'CCCCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> CCCCF.t -> t     end   module CCCVCF :     sig       type t = Const(CCVCF).t = Const of string * CCVCF.t       type 'a parse_func = 'CCVCF.parse_func       type 'a parse_opt_func = 'CCVCF.parse_opt_func       type 'a generate_func = 'CCVCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> CCVCF.t -> t     end   module CCCVVF :     sig       type t = Const(CCVVF).t = Const of string * CCVVF.t       type 'a parse_func = 'CCVVF.parse_func       type 'a parse_opt_func = 'CCVVF.parse_opt_func       type 'a generate_func = 'CCVVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> CCVVF.t -> t     end   module CCCCVF :     sig       type t = Const(CCCVF).t = Const of string * CCCVF.t       type 'a parse_func = 'CCCVF.parse_func       type 'a parse_opt_func = 'CCCVF.parse_opt_func       type 'a generate_func = 'CCCVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> CCCVF.t -> t     end   module CCVCCF :     sig       type t = Const(CVCCF).t = Const of string * CVCCF.t       type 'a parse_func = 'CVCCF.parse_func       type 'a parse_opt_func = 'CVCCF.parse_opt_func       type 'a generate_func = 'CVCCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> CVCCF.t -> t     end   module CCVVCF :     sig       type t = Const(CVVCF).t = Const of string * CVVCF.t       type 'a parse_func = 'CVVCF.parse_func       type 'a parse_opt_func = 'CVVCF.parse_opt_func       type 'a generate_func = 'CVVCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> CVVCF.t -> t     end   module CCVVVF :     sig       type t = Const(CVVVF).t = Const of string * CVVVF.t       type 'a parse_func = 'CVVVF.parse_func       type 'a parse_opt_func = 'CVVVF.parse_opt_func       type 'a generate_func = 'CVVVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> CVVVF.t -> t     end   module CCVCVF :     sig       type t = Const(CVCVF).t = Const of string * CVCVF.t       type 'a parse_func = 'CVCVF.parse_func       type 'a parse_opt_func = 'CVCVF.parse_opt_func       type 'a generate_func = 'CVCVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> CVCVF.t -> t     end   module CVCCCF :     sig       type t = Const(VCCCF).t = Const of string * VCCCF.t       type 'a parse_func = 'VCCCF.parse_func       type 'a parse_opt_func = 'VCCCF.parse_opt_func       type 'a generate_func = 'VCCCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> VCCCF.t -> t     end   module CVCVCF :     sig       type t = Const(VCVCF).t = Const of string * VCVCF.t       type 'a parse_func = 'VCVCF.parse_func       type 'a parse_opt_func = 'VCVCF.parse_opt_func       type 'a generate_func = 'VCVCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> VCVCF.t -> t     end   module CVCVVF :     sig       type t = Const(VCVVF).t = Const of string * VCVVF.t       type 'a parse_func = 'VCVVF.parse_func       type 'a parse_opt_func = 'VCVVF.parse_opt_func       type 'a generate_func = 'VCVVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> VCVVF.t -> t     end   module CVCCVF :     sig       type t = Const(VCCVF).t = Const of string * VCCVF.t       type 'a parse_func = 'VCCVF.parse_func       type 'a parse_opt_func = 'VCCVF.parse_opt_func       type 'a generate_func = 'VCCVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> VCCVF.t -> t     end   module CVVCCF :     sig       type t = Const(VVCCF).t = Const of string * VVCCF.t       type 'a parse_func = 'VVCCF.parse_func       type 'a parse_opt_func = 'VVCCF.parse_opt_func       type 'a generate_func = 'VVCCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> VVCCF.t -> t     end   module CVVVCF :     sig       type t = Const(VVVCF).t = Const of string * VVVCF.t       type 'a parse_func = 'VVVCF.parse_func       type 'a parse_opt_func = 'VVVCF.parse_opt_func       type 'a generate_func = 'VVVCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> VVVCF.t -> t     end   module CVVVVF :     sig       type t = Const(VVVVF).t = Const of string * VVVVF.t       type 'a parse_func = 'VVVVF.parse_func       type 'a parse_opt_func = 'VVVVF.parse_opt_func       type 'a generate_func = 'VVVVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> VVVVF.t -> t     end   module CVVCVF :     sig       type t = Const(VVCVF).t = Const of string * VVCVF.t       type 'a parse_func = 'VVCVF.parse_func       type 'a parse_opt_func = 'VVCVF.parse_opt_func       type 'a generate_func = 'VVCVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val const : string -> VVCVF.t -> t     end   module VCCCCF :     sig       type t = Var(CCCCF).t = Var of CCCCF.t       type 'a parse_func = string -> 'CCCCF.parse_func       type 'a parse_opt_func = string -> 'CCCCF.parse_opt_func       type 'a generate_func = string -> 'CCCCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : CCCCF.t -> t     end   module VCCVCF :     sig       type t = Var(CCVCF).t = Var of CCVCF.t       type 'a parse_func = string -> 'CCVCF.parse_func       type 'a parse_opt_func = string -> 'CCVCF.parse_opt_func       type 'a generate_func = string -> 'CCVCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : CCVCF.t -> t     end   module VCCVVF :     sig       type t = Var(CCVVF).t = Var of CCVVF.t       type 'a parse_func = string -> 'CCVVF.parse_func       type 'a parse_opt_func = string -> 'CCVVF.parse_opt_func       type 'a generate_func = string -> 'CCVVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : CCVVF.t -> t     end   module VCCCVF :     sig       type t = Var(CCCVF).t = Var of CCCVF.t       type 'a parse_func = string -> 'CCCVF.parse_func       type 'a parse_opt_func = string -> 'CCCVF.parse_opt_func       type 'a generate_func = string -> 'CCCVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : CCCVF.t -> t     end   module VCVCCF :     sig       type t = Var(CVCCF).t = Var of CVCCF.t       type 'a parse_func = string -> 'CVCCF.parse_func       type 'a parse_opt_func = string -> 'CVCCF.parse_opt_func       type 'a generate_func = string -> 'CVCCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : CVCCF.t -> t     end   module VCVVCF :     sig       type t = Var(CVVCF).t = Var of CVVCF.t       type 'a parse_func = string -> 'CVVCF.parse_func       type 'a parse_opt_func = string -> 'CVVCF.parse_opt_func       type 'a generate_func = string -> 'CVVCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : CVVCF.t -> t     end   module VCVVVF :     sig       type t = Var(CVVVF).t = Var of CVVVF.t       type 'a parse_func = string -> 'CVVVF.parse_func       type 'a parse_opt_func = string -> 'CVVVF.parse_opt_func       type 'a generate_func = string -> 'CVVVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : CVVVF.t -> t     end   module VCVCVF :     sig       type t = Var(CVCVF).t = Var of CVCVF.t       type 'a parse_func = string -> 'CVCVF.parse_func       type 'a parse_opt_func = string -> 'CVCVF.parse_opt_func       type 'a generate_func = string -> 'CVCVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : CVCVF.t -> t     end   module VVCCCF :     sig       type t = Var(VCCCF).t = Var of VCCCF.t       type 'a parse_func = string -> 'VCCCF.parse_func       type 'a parse_opt_func = string -> 'VCCCF.parse_opt_func       type 'a generate_func = string -> 'VCCCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : VCCCF.t -> t     end   module VVCVCF :     sig       type t = Var(VCVCF).t = Var of VCVCF.t       type 'a parse_func = string -> 'VCVCF.parse_func       type 'a parse_opt_func = string -> 'VCVCF.parse_opt_func       type 'a generate_func = string -> 'VCVCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : VCVCF.t -> t     end   module VVCVVF :     sig       type t = Var(VCVVF).t = Var of VCVVF.t       type 'a parse_func = string -> 'VCVVF.parse_func       type 'a parse_opt_func = string -> 'VCVVF.parse_opt_func       type 'a generate_func = string -> 'VCVVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : VCVVF.t -> t     end   module VVCCVF :     sig       type t = Var(VCCVF).t = Var of VCCVF.t       type 'a parse_func = string -> 'VCCVF.parse_func       type 'a parse_opt_func = string -> 'VCCVF.parse_opt_func       type 'a generate_func = string -> 'VCCVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : VCCVF.t -> t     end   module VVVCCF :     sig       type t = Var(VVCCF).t = Var of VVCCF.t       type 'a parse_func = string -> 'VVCCF.parse_func       type 'a parse_opt_func = string -> 'VVCCF.parse_opt_func       type 'a generate_func = string -> 'VVCCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : VVCCF.t -> t     end   module VVVVCF :     sig       type t = Var(VVVCF).t = Var of VVVCF.t       type 'a parse_func = string -> 'VVVCF.parse_func       type 'a parse_opt_func = string -> 'VVVCF.parse_opt_func       type 'a generate_func = string -> 'VVVCF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : VVVCF.t -> t     end   module VVVVVF :     sig       type t = Var(VVVVF).t = Var of VVVVF.t       type 'a parse_func = string -> 'VVVVF.parse_func       type 'a parse_opt_func = string -> 'VVVVF.parse_opt_func       type 'a generate_func = string -> 'VVVVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : VVVVF.t -> t     end   module VVVCVF :     sig       type t = Var(VVCVF).t = Var of VVCVF.t       type 'a parse_func = string -> 'VVCVF.parse_func       type 'a parse_opt_func = string -> 'VVCVF.parse_opt_func       type 'a generate_func = string -> 'VVCVF.generate_func       val parse : t -> 'a parse_func -> 'a route       val parse_opt : t -> 'a parse_opt_func -> 'a route       val generate : t -> string list generate_func       val generate_ : string list -> t -> string list generate_func       val to_fragment : t -> string generate_func       val to_fragment_ : string -> t -> string generate_func       val var : VVCVF.t -> t     end end