'M      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL Safe-Inferred !"(=HJKM#Container when defining route paths"Constrained to AttoParsec & T.Text      None*-.B  !"  !"   !"   !"None*-./6BM#$%&'()*+,-./0123456#$%&'()*+,-./012345*.-,+)&'(#$%6/012345 #$%&'()*.-,+/0123456None!"&(2468=HJKM789:;<=>?@ABCMNOPQRSTUV 789:;<=>?@ABC ?@=>;<ABC9:78789:;<=>?@ABCMNOPQRSTUVNone!"&'(*-3=BEHJKMH!For routes ending with a literal.I For routes ending with a parser.LTurns a HandlerT into a Wai  Application WXDEFGHPath to match againstPossibly a function, ending in EitherResponse z mPotential child routesIJKL Assembled handle callsYL  !"#$%&'()*+,-./012345789:;<=>?@ABCDEFGHIJKL EFGDHIJKL WXDEFGHIJKLYZ      !"#$%&''())*+,-./0123456789:;<=>?@ABCDEFGGHIJKLMNOPQRSTUVWXYZ[nested-routes-0.3!Web.Routes.Nested.Types.UrlChunks!Web.Routes.Nested.FileExtListenerWeb.Routes.Nested.VerbListenerWeb.Routes.Nested.TypesWeb.Routes.Nested UrlChunksRootConsEitherUrlChunk:~:=lpoFileExtListenerTrunFileExtListenerTFileExts unFileExtsFileExtTextJsonHtmltoExtjsonjsonOnlyjsonp jsonpOnlytexttextOnlyblaze blazeOnlylucid lucidOnlybuilder builderOnly bytestringbytestringOnly VerbListenerTrunVerbListenerTVerbsunVerbs BodyLengthVerbDeletePutPostGet foldMWithKeygetpostpostMaxputputMaxdelete$fMonadTransVerbListenerTToLtoLToNEtoNEExtrudeextrudeExtendextend Singleton singleton OnlyJusts eitherToMaybe restAreLitsEitherResponseHandlerT runHandler handleLit handleParse notFoundLit notFoundParseroute$fToLUrlChunks$fToLUrlChunks0$fToNEUrlChunks$fToNEUrlChunks0$fExtrudeUrlChunkstrie0trie2 $fExtrudeUrlChunksRUPTrieRUPTrie$$fExtendEitherUrlChunkRUPTrieRUPTrie%$fExtendEitherUrlChunkRUPTrieRUPTrie0$fSingletonUrlChunksatrie1$fSingletonUrlChunksaRUPTrie LastIsJust LastIsNothing$fMonadTransHandlerT