Skip to main content Link Search Menu Expand Document (external link)

Matcher overview

Added in v1.0.0


Table of contents


utils

RedirectRouteMatchError (class)

Signature

export declare class RedirectRouteMatchError<R> { constructor(readonly route: R, readonly params: Route.Route.Params<R>) }

Added in v1.0.0

RouteMatcher (interface)

Signature

export interface RouteMatcher<Matches extends RouteMatch.RouteMatch.Any> {
  readonly [RouteMatcherTypeId]: RouteMatcherTypeId

  readonly matches: ReadonlyArray<Matches>

  readonly add: <I extends RouteMatch.RouteMatch.Any>(match: I) => RouteMatcher<Matches | I>

  readonly match: <I extends MatchInput.Any, A, E, R>(
    input: I,
    match: (ref: RefSubject.RefSubject<MatchInput.Success<I>>) => Fx.Fx<A, E, R>
  ) => RouteMatcher<
    | Matches
    | RouteMatch.RouteMatch<
        MatchInput.Route<I>,
        MatchInput.Success<I>,
        MatchInput.Error<I>,
        MatchInput.Context<I>,
        A,
        E,
        R
      >
  >

  readonly switch: <I extends MatchInput.Any, A, E, R>(
    input: I,
    match: (ref: MatchInput.Success<I>) => Fx.Fx<A, E, R>
  ) => RouteMatcher<
    | Matches
    | RouteMatch.RouteMatch<
        MatchInput.Route<I>,
        MatchInput.Success<I>,
        MatchInput.Error<I>,
        MatchInput.Context<I>,
        A,
        E,
        R | Scope.Scope
      >
  >

  readonly effect: <I extends MatchInput.Any, A, E, R>(
    input: I,
    match: (ref: MatchInput.Success<I>) => Effect.Effect<A, E, R>
  ) => RouteMatcher<
    | Matches
    | RouteMatch.RouteMatch<
        MatchInput.Route<I>,
        MatchInput.Success<I>,
        MatchInput.Error<I>,
        MatchInput.Context<I>,
        A,
        E,
        R | Scope.Scope
      >
  >

  readonly to: <I extends MatchInput.Any, B>(
    input: I,
    f: (value: MatchInput.Success<I>) => B
  ) => RouteMatcher<
    | Matches
    | RouteMatch.RouteMatch<
        MatchInput.Route<I>,
        MatchInput.Success<I>,
        MatchInput.Error<I>,
        MatchInput.Context<I>,
        B,
        never,
        Scope.Scope
      >
  >
}

Added in v1.0.0

RouteMatcher (namespace)

Added in v1.0.0

Any (type alias)

Signature

export type Any = RouteMatcher<RouteMatch.RouteMatch.Any>

Added in v1.0.0

Context (type alias)

Signature

export type Context<T> = T extends RouteMatcher<infer Matches> ? RouteMatch.RouteMatch.Context<Matches> : never

Added in v1.0.0

RouteMatcherTypeId

Signature

export declare const RouteMatcherTypeId: typeof RouteMatcherTypeId

Added in v1.0.0

RouteMatcherTypeId (type alias)

Signature

export type RouteMatcherTypeId = typeof RouteMatcherTypeId

Added in v1.0.0

catchRedirectError

Signature

export declare const catchRedirectError: <A, E, R>(
  fx: Fx.Fx<A, E | RedirectError, R>
) => Fx.Fx<A, Exclude<E, RedirectError>, R | Scope.Scope | Navigation>

Added in v1.0.0

effect

Signature

export declare const effect: <I, A, E, R>(
  input: I,
  match: (ref: MatchInput.Success<I>) => Effect.Effect<A, E, R>
) => RouteMatcher<
  RouteMatch.RouteMatch<
    MatchInput.Route<I>,
    MatchInput.Success<I>,
    MatchInput.Error<I>,
    MatchInput.Context<I>,
    A,
    E,
    Scope.Scope | R
  >
>

Added in v1.0.0

empty

Signature

export declare const empty: RouteMatcher<never>

Added in v1.0.0

isRouteMatcher

Signature

export declare function isRouteMatcher<M extends RouteMatch.RouteMatch.Any = RouteMatch.RouteMatch.Any>(
  value: unknown
): value is RouteMatcher<M>

Added in v1.0.0

make

Signature

export declare function make<Matches extends RouteMatch.RouteMatch.Any>(
  matches: ReadonlyArray<Matches>
): RouteMatcher<Matches>

Added in v1.0.0

match

Signature

export declare const match: <I, A, E, R>(
  input: I,
  match: (ref: RefSubject.RefSubject<MatchInput.Success<I>, never, never>) => Fx.Fx<A, E, R>
) => RouteMatcher<
  RouteMatch.RouteMatch<MatchInput.Route<I>, MatchInput.Success<I>, MatchInput.Error<I>, MatchInput.Context<I>, A, E, R>
>

Added in v1.0.0

notFound

Signature

export declare const notFound: {
  <A, E, R>(
    onNotFound: Fx.Fx<A, E, R>
  ): <Matches extends RouteMatch.RouteMatch.Any<any>>(
    router: RouteMatcher<Matches>
  ) => Fx.Fx<
    A | RouteMatch.RouteMatch.Success<Matches>,
    Exclude<E, RedirectError> | Exclude<RouteMatch.RouteMatch.Error<Matches>, RedirectError>,
    Scope.Scope | Navigation | R | RouteMatch.RouteMatch.Context<Matches>
  >
  <Matches extends RouteMatch.RouteMatch.Any<any>, A, E, R>(
    router: RouteMatcher<Matches>,
    onNotFound: Fx.Fx<A, E, R>
  ): Fx.Fx<
    A | RouteMatch.RouteMatch.Success<Matches>,
    Exclude<E, RedirectError> | Exclude<RouteMatch.RouteMatch.Error<Matches>, RedirectError>,
    Scope.Scope | Navigation | R | RouteMatch.RouteMatch.Context<Matches>
  >
}

Added in v1.0.0

notFoundWith

Signature

export declare const notFoundWith: {
  <A, E, R>(
    onNotFound: Effect.Effect<A, E, R>
  ): <Matches extends RouteMatch.RouteMatch.Any<any>>(
    router: RouteMatcher<Matches>
  ) => Fx.Fx<
    A | RouteMatch.RouteMatch.Success<Matches>,
    Exclude<E, RedirectError> | Exclude<RouteMatch.RouteMatch.Error<Matches>, RedirectError>,
    Scope.Scope | Navigation | R | RouteMatch.RouteMatch.Context<Matches>
  >
  <Matches extends RouteMatch.RouteMatch.Any<any>, A, E, R>(
    router: RouteMatcher<Matches>,
    onNotFound: Effect.Effect<A, E, R>
  ): Fx.Fx<
    A | RouteMatch.RouteMatch.Success<Matches>,
    Exclude<E, RedirectError> | Exclude<RouteMatch.RouteMatch.Error<Matches>, RedirectError>,
    Scope.Scope | Navigation | R | RouteMatch.RouteMatch.Context<Matches>
  >
}

Added in v1.0.0

redirectTo

Signature

export declare const redirectTo: { <R extends Route.Route.Any>(route: R, ...params: [(PathToSegments<Route.Route.Path<R>> extends readonly [infer Head, ...infer Tail extends readonly string[]] ? (ParseSegment<Head, 0> extends UnnamedParamNode<infer _ extends number> ? true : ParseSegment<Head, 0> extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : ParseSegment<Head, 0> extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : ParseSegment<Head, 0> extends SuffixNode<infer S extends SegmentAST | null, any> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<...> ? S extends UnnamedParamNode<...> ? true : S extends ModifierNode<...> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<...> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends SuffixNode<...> ? S extends UnnamedParamNode<...> ? true : S extends ModifierNode<...> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<...> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? S extends UnnamedParamNode<infer _ extends number> ? true : S extends ModifierNode<any, infer S extends SegmentAST> ? any : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : any : false : false : false : false : false : false : false : false : false : false : false : false : S extends PrefixNode<any, infer S extends SegmentAST | null> ? any : S extends SuffixNode<infer S extends SegmentAST | null, any> ? any : S extends QueryParamsNode<infer Q extends readonly (TextNode<any> | QueryParamNode<any, any>)[]> ? Q extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryParamNode<any, any>)[]] ? any extends true ? true : Tail extends readonly [infer Head, ...infer Tail extends readonly (SegmentAST | QueryPa...

Added in v1.0.0

redirectWith

Signature

export declare const redirectWith: {
  <E, R>(
    effect: Effect.Effect<string, E, R>
  ): <Matches extends RouteMatch.RouteMatch.Any<any>>(
    router: RouteMatcher<Matches>
  ) => Fx.Fx<
    RouteMatch.RouteMatch.Success<Matches>,
    Exclude<E, RedirectError> | Exclude<RouteMatch.RouteMatch.Error<Matches>, RedirectError>,
    Scope.Scope | Navigation | R | RouteMatch.RouteMatch.Context<Matches>
  >
  <Matches extends RouteMatch.RouteMatch.Any<any>, E, R>(
    router: RouteMatcher<Matches>,
    effect: Effect.Effect<string, E, R>
  ): Fx.Fx<
    RouteMatch.RouteMatch.Success<Matches>,
    Exclude<E, RedirectError> | Exclude<RouteMatch.RouteMatch.Error<Matches>, RedirectError>,
    Scope.Scope | Navigation | R | RouteMatch.RouteMatch.Context<Matches>
  >
}

Added in v1.0.0

switch

Signature

export declare const switch: <I, A, E, R>(input: I, match: (ref: MatchInput.Success<I>) => Fx.Fx<A, E, R>) => RouteMatcher<RouteMatch.RouteMatch<MatchInput.Route<I>, MatchInput.Success<I>, MatchInput.Error<I>, MatchInput.Context<I>, A, E, Scope.Scope | R>>

Added in v1.0.0

to

Signature

export declare const to: <I, B>(
  input: I,
  f: (value: MatchInput.Success<I>) => B
) => RouteMatcher<
  RouteMatch.RouteMatch<
    MatchInput.Route<I>,
    MatchInput.Success<I>,
    MatchInput.Error<I>,
    MatchInput.Context<I>,
    B,
    never,
    Scope.Scope
  >
>

Added in v1.0.0