# RefRecord.map

Map values in place (endomorphic).

## Signatures

```ts
export declare const map: {
    <K extends string, V>(f: (value: V, key: K) => V): <E, R>(ref: RefRecord<K, V, E, R>) => Effect.Effect<Record.ReadonlyRecord<K, V>, E, R>;
    <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>, f: (value: V, key: K) => V): Effect.Effect<Record.ReadonlyRecord<K, V>, E, R>;
};
```

## Why

Applies map to the committed Record through `RefSubject.update` and publishes one coherent
replacement; this is a mutation, not a read-only Computed projection.

## Ownership and lifetime

The Effect starts when run, participates in the source ref's serialized update boundary, and
acquires no resource. It returns the committed Record and retains the ref's E and R channels.
