sig   type 'a route = string list -> ('a -> unit -> unit) option   val router :     ?base_path:string ->     'a Sharp_core.t -> 'a 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 ->         'a Sharp_router.Part.parse_func -> 'a Sharp_router.route       val parse_opt :         Sharp_router.Part.t ->         'a Sharp_router.Part.parse_opt_func -> 'a 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 = 'a -> unit -> unit       type 'a parse_opt_func = ('a -> 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 -> 'a Rest.parse_func         type 'a parse_opt_func = string -> 'a Rest.parse_opt_func         type 'a generate_func = string -> 'a 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 = 'a Rest.parse_func         type 'a parse_opt_func = 'a Rest.parse_opt_func         type 'a generate_func = 'a 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 ( ^/ ) : ('a -> 'b) -> 'a -> 'b   val ( ^// ) : ('a -> 'b) -> (Sharp_router.Final.t -> 'a) -> 'b   module CF :     sig       type t = Const(Final).t = Const of string * Final.t       type 'a parse_func = 'a Final.parse_func       type 'a parse_opt_func = 'a Final.parse_opt_func       type 'a generate_func = 'a 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 -> 'a Final.parse_func       type 'a parse_opt_func = string -> 'a Final.parse_opt_func       type 'a generate_func = string -> 'a 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 = 'a CF.parse_func       type 'a parse_opt_func = 'a CF.parse_opt_func       type 'a generate_func = 'a 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 -> 'a CF.parse_func       type 'a parse_opt_func = string -> 'a CF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a VF.parse_func       type 'a parse_opt_func = string -> 'a VF.parse_opt_func       type 'a generate_func = string -> 'a 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 = 'a VF.parse_func       type 'a parse_opt_func = 'a VF.parse_opt_func       type 'a generate_func = 'a 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 = 'a CCF.parse_func       type 'a parse_opt_func = 'a CCF.parse_opt_func       type 'a generate_func = 'a 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 = 'a VCF.parse_func       type 'a parse_opt_func = 'a VCF.parse_opt_func       type 'a generate_func = 'a 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 = 'a VVF.parse_func       type 'a parse_opt_func = 'a VVF.parse_opt_func       type 'a generate_func = 'a 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 = 'a CVF.parse_func       type 'a parse_opt_func = 'a CVF.parse_opt_func       type 'a generate_func = 'a 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 -> 'a CCF.parse_func       type 'a parse_opt_func = string -> 'a CCF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a VCF.parse_func       type 'a parse_opt_func = string -> 'a VCF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a VVF.parse_func       type 'a parse_opt_func = string -> 'a VVF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a CVF.parse_func       type 'a parse_opt_func = string -> 'a CVF.parse_opt_func       type 'a generate_func = string -> 'a 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 = 'a CCCF.parse_func       type 'a parse_opt_func = 'a CCCF.parse_opt_func       type 'a generate_func = 'a 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 = 'a CVCF.parse_func       type 'a parse_opt_func = 'a CVCF.parse_opt_func       type 'a generate_func = 'a 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 = 'a CVVF.parse_func       type 'a parse_opt_func = 'a CVVF.parse_opt_func       type 'a generate_func = 'a 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 = 'a CCVF.parse_func       type 'a parse_opt_func = 'a CCVF.parse_opt_func       type 'a generate_func = 'a 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 = 'a VCCF.parse_func       type 'a parse_opt_func = 'a VCCF.parse_opt_func       type 'a generate_func = 'a 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 = 'a VVCF.parse_func       type 'a parse_opt_func = 'a VVCF.parse_opt_func       type 'a generate_func = 'a 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 = 'a VVVF.parse_func       type 'a parse_opt_func = 'a VVVF.parse_opt_func       type 'a generate_func = 'a 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 = 'a VCVF.parse_func       type 'a parse_opt_func = 'a VCVF.parse_opt_func       type 'a generate_func = 'a 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 -> 'a CCCF.parse_func       type 'a parse_opt_func = string -> 'a CCCF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a CVCF.parse_func       type 'a parse_opt_func = string -> 'a CVCF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a CVVF.parse_func       type 'a parse_opt_func = string -> 'a CVVF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a CCVF.parse_func       type 'a parse_opt_func = string -> 'a CCVF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a VCCF.parse_func       type 'a parse_opt_func = string -> 'a VCCF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a VVCF.parse_func       type 'a parse_opt_func = string -> 'a VVCF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a VVVF.parse_func       type 'a parse_opt_func = string -> 'a VVVF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a VCVF.parse_func       type 'a parse_opt_func = string -> 'a VCVF.parse_opt_func       type 'a generate_func = string -> 'a 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 = 'a CCCCF.parse_func       type 'a parse_opt_func = 'a CCCCF.parse_opt_func       type 'a generate_func = 'a 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 = 'a CCVCF.parse_func       type 'a parse_opt_func = 'a CCVCF.parse_opt_func       type 'a generate_func = 'a 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 = 'a CCVVF.parse_func       type 'a parse_opt_func = 'a CCVVF.parse_opt_func       type 'a generate_func = 'a 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 = 'a CCCVF.parse_func       type 'a parse_opt_func = 'a CCCVF.parse_opt_func       type 'a generate_func = 'a 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 = 'a CVCCF.parse_func       type 'a parse_opt_func = 'a CVCCF.parse_opt_func       type 'a generate_func = 'a 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 = 'a CVVCF.parse_func       type 'a parse_opt_func = 'a CVVCF.parse_opt_func       type 'a generate_func = 'a 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 = 'a CVVVF.parse_func       type 'a parse_opt_func = 'a CVVVF.parse_opt_func       type 'a generate_func = 'a 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 = 'a CVCVF.parse_func       type 'a parse_opt_func = 'a CVCVF.parse_opt_func       type 'a generate_func = 'a 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 = 'a VCCCF.parse_func       type 'a parse_opt_func = 'a VCCCF.parse_opt_func       type 'a generate_func = 'a 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 = 'a VCVCF.parse_func       type 'a parse_opt_func = 'a VCVCF.parse_opt_func       type 'a generate_func = 'a 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 = 'a VCVVF.parse_func       type 'a parse_opt_func = 'a VCVVF.parse_opt_func       type 'a generate_func = 'a 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 = 'a VCCVF.parse_func       type 'a parse_opt_func = 'a VCCVF.parse_opt_func       type 'a generate_func = 'a 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 = 'a VVCCF.parse_func       type 'a parse_opt_func = 'a VVCCF.parse_opt_func       type 'a generate_func = 'a 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 = 'a VVVCF.parse_func       type 'a parse_opt_func = 'a VVVCF.parse_opt_func       type 'a generate_func = 'a 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 = 'a VVVVF.parse_func       type 'a parse_opt_func = 'a VVVVF.parse_opt_func       type 'a generate_func = 'a 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 = 'a VVCVF.parse_func       type 'a parse_opt_func = 'a VVCVF.parse_opt_func       type 'a generate_func = 'a 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 -> 'a CCCCF.parse_func       type 'a parse_opt_func = string -> 'a CCCCF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a CCVCF.parse_func       type 'a parse_opt_func = string -> 'a CCVCF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a CCVVF.parse_func       type 'a parse_opt_func = string -> 'a CCVVF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a CCCVF.parse_func       type 'a parse_opt_func = string -> 'a CCCVF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a CVCCF.parse_func       type 'a parse_opt_func = string -> 'a CVCCF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a CVVCF.parse_func       type 'a parse_opt_func = string -> 'a CVVCF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a CVVVF.parse_func       type 'a parse_opt_func = string -> 'a CVVVF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a CVCVF.parse_func       type 'a parse_opt_func = string -> 'a CVCVF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a VCCCF.parse_func       type 'a parse_opt_func = string -> 'a VCCCF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a VCVCF.parse_func       type 'a parse_opt_func = string -> 'a VCVCF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a VCVVF.parse_func       type 'a parse_opt_func = string -> 'a VCVVF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a VCCVF.parse_func       type 'a parse_opt_func = string -> 'a VCCVF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a VVCCF.parse_func       type 'a parse_opt_func = string -> 'a VVCCF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a VVVCF.parse_func       type 'a parse_opt_func = string -> 'a VVVCF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a VVVVF.parse_func       type 'a parse_opt_func = string -> 'a VVVVF.parse_opt_func       type 'a generate_func = string -> 'a 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 -> 'a VVCVF.parse_func       type 'a parse_opt_func = string -> 'a VVCVF.parse_opt_func       type 'a generate_func = string -> 'a 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