! routing: PathMatcher.(flat)map => h(flat)map, introduce map/flatMap, fixes #274