code: function setHashOrThrowError(parseMap, routeObject) {
      var route = routeObject.route;
      var get = routeObject.get;
      var set = routeObject.set;
      var call = routeObject.call;
  
      getHashesFromRoute(route).
          map(function mapHashToString(hash) { return hash.join(','); }).
          forEach(function forEachRouteHash(hash) {
              if (get && parseMap[hash + 'get'] ||
                  set && parseMap[hash + 'set'] ||
                      call && parseMap[hash + 'call']) {
                  throw new Error(errors.routeWithSamePrecedence + ' ' +
                                 prettifyRoute(route));
              }
              if (get) {
                  parseMap[hash + 'get'] = true;
              }
              if (set) {
                  parseMap[hash + 'set'] = true;
              }
              if (call) {
                  parseMap[hash + 'call'] = true;
              }
          });
  }
docs: ensure that two routes of the same precedence do not get
  set in.