# RouteAst.Path

A Route AST node containing one Path AST atom.

## Signatures

```ts
interface Path {
    type: "path";
    path: PathAst;
}
```

## Why

Atomic syntax can be joined or schema-transformed without losing structure.

## Ownership and lifetime

`Path` describes plain readonly AST data. Routes and Matchers retain the concrete nodes they receive by reference; the type itself owns no resource.

## Property: path

Constructs a Route AST node from one Path AST atom.

## Property: path: Why

Path syntax can participate in route joins and schema transformations without reparsing strings.

## Property: path: Ownership and lifetime

`RouteAst.Path` retains the child `PathAst` by reference; formatting and compilation read that
same node without reparsing or copying it.

## Property: type

The discriminant identifying this AST variant.

## Property: type: Why

Exhaustive switches can interpret syntax without instanceof checks or hidden classes.
