|Portability||non-portable (uses ghc extensions)|
Defines a Routing Monad that provides easy composition of Routes
Add a middleware to the application. Middleware is nested so the one declared earlier is outer.
Add a route to the application. Routes are ordered so the one declared earlier is matched first.