public static IEnumerable <ISegmentVariant> ParseRoute(ISegmentParser segmentParser, string route) =>
 segmentParser.Parse(route)
 ?? throw new ArgumentException($"Invalid route: {route}", nameof(route));