code: function match(pathSegment, path) {
          for(var n=0; n<pathSegment.length; n++) {
              var part = pathSegment[n]
              if(part === Router.param && path[n] !== undefined) {
                  // matches anything
              } else if(part !== path[n]) {
                  return undefined // no match
              }
          }
  
          return pathSegment.length // a match, must consume all of route.pathSegement (but not all of path)
      }
docs: returns the number of elements matched if the path is matched by the route returns undefined if it doesn't match pathSegment is the path segment a route applies to (will contain a subset of path if match returns true) path is the remainder of the path being matched to