# setFail

Set the current state of a RefCause to a Fail cause.

## Signatures

```ts
export declare const setFail: {
    <E>(error: E): <Err, R>(ref: RefCause<E, Err, R>) => Effect.Effect<Cause.Cause<E>, Err, R>;
    <E, Err, R>(ref: RefCause<E, Err, R>, error: E): Effect.Effect<Cause.Cause<E>, Err, R>;
};
```

## Why

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

## Ownership and lifetime

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