# cuid

Generates one CUID from the current CuidState service.

## Signatures

```ts
export declare const cuid: Effect.Effect<Cuid, never, CuidState>;
```

## Why

Generation is an Effect so sequencing and entropy dependencies remain explicit and replaceable; `envData` is only a caller discriminator, not a machine fingerprint guarantee. Missing Web Crypto or rejected SHA-512 work is a defect because the typed error channel is `never`.

## Ownership and lifetime

The Effect acquires no resources itself and uses the CuidState owned by its provided Layer.

## Examples

```ts
import { cuid, CuidState } from "@typed/id/Cuid"
import { Effect } from "effect"
const id = Effect.provide(cuid, CuidState.Default)
```
