0.     Safe !None &'35;=KQV. +The core data type that is produced by the o. If you'd prefer a non-monadic interface to creating these, you're welcome to use the constructors directly.The DSL defined as example. below has the route representation given by  desugared:  example ::  String String String example =   $ do "hello" // do  "world" + "friend" "nest" /: do  "nope"  "yes" desugared :: ( String String String desugared = [  "hello" ( "world") ,  "hello" ( "friend") ,  "hello" ( "nest" [  "nope" ,  "yes" ] ) ]  A list of  values.A difference list (") of  values.4For efficiency's sake, we encode the route DSL as a " while defining them, and (for convenience's sake) we present them as an ordinary list when you run it. To prevent type complexity, we parameterize the forest on how we're working with it.A ^ is a type useful for constructing web routes. At it's heart, it is a DSL for constructing a , and is totally optional.&Routes are defined by how they handle nest1ing, what sorts of values are used to represent capture4s, and what values are used to represent endpoints. Run the given  and convert it into the h of routes. If you are defining an interpreter for a web framework, you will want to call this on the  value. Run the given  and convert it into a ": of routes. This is useful when implementing combinators.  Introduce a capture into all of the routes defined in the second argument. This function does not introduce nesting, so multiple distinct routes will be created.As an example: 8example :: RouteDsl nest String String () example =   "hello" $ do  "first route"  "second route" Calling   example! will give a data structure like: [  "hello" ( "first route") ,  "hello" ( "second route") ] An infix operator for  .6Introduce a nesting point in the route DSL. While the   function adds the capturen to each route defined in the second argument, this one preserves the tree-like structure of the declaration.  example :: ' String String String () example =   "thing" $ C "hello" $ do terminal "first" terminal "second" Calling   example" would give a data structure like: [  "thing" (4 [ Leaf "first" , Leaf "second" ] ) ] In constrast, if $ were not called, you would see the - repeated and distributed to both endpoints.An infix operator alias for .Record the given endpoint as a route. Convert a ' into a flattened list of routes. Each terminal is paired with the list of captures that preceeded it.    57#       !"#$%&'$rowdy-0.0.1.0-8Ladp2s4pGtLZujZVS7Ix3Rowdy Paths_rowdy RouteTreeLeaf PathComponentNestForestDForestForestOfRouteDsl unRouteDsl runRouteDsl runRouteDsl' pathComponent//nest/:terminalunnest $fEqRouteTree$fShowRouteTree$fFunctorRouteTree$fFoldableRouteTree$fFunctorRouteDsl$fApplicativeRouteDsl$fMonadRouteDsl$fMonadWriterRouteDslversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName$dlist-0.8.0.4-1zydql1n95W9HGrJXRc01e Data.DListDList