# multicast

Multicasts a Versioned stream.

## Signatures

```ts
export declare function multicast<R0, E0, A, E, R, B, E2, R2>(versioned: Versioned<R0, E0, A, E, R, B, E2, R2>): Versioned<R0, E0, A, E, R | Scope.Scope, B, E2, R2>;
```

## Why

Shares one upstream push subscription among concurrent observers while retaining the original
current-read and version effects. Unlike `hold` and `replay`, `multicast` retains zero values: a
late observer receives only pushes that happen after it subscribes.

## Ownership and lifetime

The returned Fx requires Scope; that Scope owns and finalizes the shared upstream subscription.
There is no replay buffer or held latest value. Current reads bypass the multicast channel and
retain the input's errors and services.
