# setAt

Set the value at a specific index in the current state of a RefTuple.

## Signatures

```ts
export declare const setAt: {
    <T extends ReadonlyArray<unknown>, I extends number>(index: I, value: T[I]): <E, R>(ref: RefTuple<T, E, R>) => Effect.Effect<T, E, R>;
    <T extends ReadonlyArray<unknown>, I extends number, E, R>(ref: RefTuple<T, E, R>, index: I, value: T[I]): Effect.Effect<T, E, R>;
};
```

## Why

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

## Ownership and lifetime

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