Typehinting the Router implementation is a bad idea. It will break all bundles relying on different implementation of the router using composition (the CMF dynamic router and BeSimpleI18nRoutingBundle for instance)