route function successfully assigns a handler even if some of variable captures resulted in empty string. This may be displeasing in certain setups.
With routing table set as follows:
routes = [ (":model", method GET emptyForm)
, (":model/model", method GET metamodel)
, (":model", method POST create)
, (":model/:id", method GET read')
, (":model/:id", method DELETE delete)
requesting /test/ gets handled by read', not emptyForm, with id parameter set to empty.