# layer

Wraps Match AST nodes with Effect Layer dependencies.

## Signatures

```ts
export declare const layer: (matches: ReadonlyArray<MatchAst>, deps: ReadonlyArray<AnyLayer>) => MatchAst.Layer;
```

## Why

Candidate acquisition and rollback boundaries stay local to the wrapped route subtree.

## Ownership and lifetime

`layer` returns a fresh plain AST node immediately and retains any supplied child nodes or arrays by reference; it acquires no external resource.
