static LongRange parseEnglishDateRange(S s, DateInterpretationConfig config) { new EnglishDateParser parser; L dates = getVars(parser.topDogs(s)); // check for combination of date & time, e.g. "tuesday between 1 and 2 pm" if (l(dates) == 2 && first(dates) instanceof DateStructures.Day && !DateStructures.containsDateDates(second(dates)) && DateStructures.containsTimes(second(dates))) { DateStructures.SomeDate combined = defaultMetaTransformer().transform(o -> { if (o cast DateStructures.Hour) o.day = (DateStructures.Day) first(dates); ret o; }, second(dates)); ret dateStructureToTimestampRange(combined, config); } ret dateStructureToTimestampRange(first(dates), config); }