# RefIterable.intersperse

Intersperse a separator between elements.

## Signatures

```ts
export declare const intersperse: {
    <A>(middle: A): <E, R>(ref: RefIterable<A, E, R>) => Effect.Effect<Iterable<A>, E, R>;
    <A, E, R>(ref: RefIterable<A, E, R>, middle: A): Effect.Effect<Iterable<A>, E, R>;
};
```

## Why

Intersperse a separator between elements. The operation remains attached to the RefSubject's
versioned state boundary.

## Ownership and lifetime

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