OK - so one more question. In the code above - does ->to add that default route to $r (i.e. globally) - or does it only add it to uris that can be parsed as '/:controller/:action/:id' (i.e. to the just added route)?
->route will create a new route object, which has a method ->to that sets some attributes in the object.
There is no hidden magic and they should not touch parent or child routes, but default values (and captures) will be forwarded to child routes when matching a path.
Nice. Although without the explanation I would read $x->route('/:action')->to(action => 'test'); as meaning that now everything would go to test. Even now I am not so sure if I understood it correctly - and that it only means that uris without a matching action part would end up there.