- [ ] We should test that even without the optional value the route still matches - currently you are only checking the routeParams

What about paths that don't just end in an optional parameter?

`/bar/:foo?/edit` -> will this match `/bar/fooValue/edit` and `/bar/edit` ?

- [ ] We should have tests of these cases for both ? and * style optional parameters.