# Fx.slice

Slices an Fx by skipping a number of elements and then taking a number of elements.

## Signatures

```ts
export declare const slice: {
    (bounds: Bounds): <A, E, R>(fx: Fx<A, E, R>) => Fx<A, E, R>;
    <A, E, R>(fx: Fx<A, E, R>, bounds: Bounds): Fx<A, E, R>;
};
```

## Why

`slice` expresses prefix omission and bounded output in one counter. It retains source order,
emits at most `take` values after `skip`, and completes early once that bound is reached.

## Ownership and lifetime

Counters are local to one run. Early completion stops upstream work; otherwise source failure,
services, and consumer interruption are forwarded.

## Examples

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

const page = Fx.fromIterable([1, 2, 3, 4]).pipe(Fx.slice({ skip: 1, take: 2 }))
```
