code: @SuppressWarnings("unchecked")
    public static <T> Parser<T> shorter(Parser<? extends T> p1, Parser<? extends T> p2) {
      return shortest(p1, p2);
    }
docs: A {@link Parser} that runs both {@code p1} and {@code p2} and selects the shorter match.
  If both matches the same length, the first one is favored.