# dedupeAdjacent

Remove adjacent duplicate values from a RefIterable.

## Signatures

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

## Why

Derives the reordered iterable through its Effect collection operation while retaining
RefSubject equality and version tracking.

## Ownership and lifetime

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