# RefHashMap.set

Set a key-value pair in the RefHashMap.

## Signatures

```ts
export declare const set: {
    <K, V>(key: K, value: V): <E, R>(ref: RefHashMap<K, V, E, R>) => Effect.Effect<HashMap.HashMap<K, V>, E, R>;
    <K, V, E, R>(ref: RefHashMap<K, V, E, R>, key: K, value: V): Effect.Effect<HashMap.HashMap<K, V>, E, R>;
};
```

## Why

Keeps set atomic with respect to competing RefSubject writes instead of splitting the read and
replacement into separate effects.

## Ownership and lifetime

Running set performs one serialized hash map transition and resolves with its committed value.
It acquires no resource; failures and services remain those of the source ref.
