# RefCause

A RefCause is a RefSubject specialized over a Cause value.

## Signatures

```ts
export interface RefCause<in out E, in out Err = never, out R = never> extends RefSubject.RefSubject<Cause.Cause<E>, Err, R> {
}
```

## Why

Defines cause state with the same current-read, pushed-update, and synchronized-write contract
as RefSubject.

## Ownership and lifetime

RefCause is a contract and performs no acquisition. Implementations retain the errors, services,
interruption, and Scope requirements expressed by its members.
