AltoRouter already provides optional parameters, but Timber doesn't support them because this router strips question marks. I would like to use optional parameters, and maybe it wouldn't be a bad idea to just provide access to the AltoRouter object?
Something like
Routes::getRouter()->addRoutes([
['GET','/users/[i:id?]', function($params) {
etc...
})