Allow type projection in routes

It would be nice to allow type projection (`object A { type Id = Int }; A#Id`) in routes. I don't know if anyone else would be interested in this but I have a cool use case in a project with Play + Slick where all the ids are typed in a way that ensures they can't be mixed up.

I've tried without success the alternative of using a case class with type parameter (`case class Id[T](value: Int)`) to add type safety to the router/reverse router, but the compiler didn't like to have a part of the url of type Id[T]. Is there a way around this?