# GuardType.Error

Extracts the typed error channel from a Guard or Guard adapter.

## Signatures

```ts
type Error<T> = [
    T
] extends [
    Guard<infer _I, infer _O, infer E, infer _R>
] ? E : [
    T
] extends [
    AsGuard<infer _I, infer _O, infer E, infer _R>
] ? E : never;
```

## Why

Typed failure remains distinct from `None`, defects, and interruption throughout composition.

## Ownership and lifetime

This compile-time type acquires no resources and has no runtime lifetime.

## Examples

```ts
import type { Guard } from "@typed/guard"
type Error = Guard.Error<Guard<string, number, "Invalid">>
```
