code: function (scanner, matcher) {
    var start = scanner.pos;
    var result = matcher(scanner);
    scanner.pos = start;
    return result;
  }
docs: Run a provided "matcher" function but reset the current position afterwards. Fatal failure of the matcher is not suppressed.