# skipRepeats

Drops elements that are equal to the previous element using standard equality.

## Signatures

```ts
export declare const skipRepeats: <A, E, R>(fx: Fx<A, E, R>) => Fx<A, E, R>;
```

## Why

`skipRepeats` removes only consecutive duplicates using Effect's structural equality. The first
value always emits; distinct values remain ordered, and a value may emit again after a change.

## Ownership and lifetime

One previous value is retained for each run and released when it ends. The operation owns no
external resource and preserves source errors, services, and interruption.

## Examples

```ts
import { Fx } from "@typed/fx"

const distinctRuns = Fx.fromIterable([1, 1, 2, 1]).pipe(Fx.skipRepeats)
```
