The documentation states that one can pattern match on any expression, but neither of these work:
- wrap(route)
 
- wrap(route(A,B))
 
- e.g. wrap(route(2,2))
 
- e.g. wrap(route(2,2,(1,2),(2,1)))
 
Either the documentation needs to be corrected, but it would be nice to have this feature instead.