# ulid

Generates a ULID from the current millisecond time and random bytes.

## Signatures

```ts
export declare const ulid: Effect.Effect<Ulid, Cause.IllegalArgumentError, RandomValues | DateTimes>;
```

## Why

Time and entropy remain explicit services; unsafe, negative, or out-of-range 48-bit timestamps fail with `IllegalArgumentError`.

## Ownership and lifetime

The Effect acquires no persistent resources and uses DateTimes and RandomValues only for the invocation.

## Examples

```ts
import { ulid } from "@typed/id/Ulid"
import { Ids } from "@typed/id/Ids"
import { Effect } from "effect"
const id = Effect.provide(ulid, Ids.Default)
```
