diff --git a/skell.cabal b/skell.cabal
--- a/skell.cabal
+++ b/skell.cabal
@@ -2,7 +2,7 @@
 --  see http://haskell.org/cabal/users-guide/
 
 name:                skell
-version:             0.0.1.1
+version:             0.0.2.0
 synopsis:            An overly complex Haskell web framework.
 description:         
   Skell is a Haskell web framework. Much like an actual skeleton, Skell is both
diff --git a/src/Web/Skell/Saferoute.hs b/src/Web/Skell/Saferoute.hs
--- a/src/Web/Skell/Saferoute.hs
+++ b/src/Web/Skell/Saferoute.hs
@@ -22,7 +22,9 @@
 import           Web.Skell.Responsible
 
 -- |The type for a route - just an alias for 'L.Text'
-type Route = L.Text
+type Route      = S.Text
+type RoutePart  = S.Text
+type RouteParts = [S.Text]
 
 -- |The type class for a resource.
 class Eq r => Resource r where
@@ -48,9 +50,13 @@
   lookupRoute :: Route -> Maybe r
   lookupRoute route = M.lookup route routeResourceMap
 
+  -- |Lookup a set of route parts
+  lookupRouteParts :: RouteParts -> Maybe r
+  lookupRouteParts = lookupRoute . slashPrependJoin
+
   getUrl :: Resource r => r -> H.AttributeValue
   getUrl = H.toValue . getRoute
 
 -- |Intercalate slashes, and add one to the front
-slashPrependJoin :: [S.Text] -> S.Text
+slashPrependJoin :: RouteParts -> Route
 slashPrependJoin parts = "/" <> S.intercalate "/" parts
