# fromIterable

Creates an Fx from an Iterable.
Emits each value from the iterable in order and then completes.

## Signatures

```ts
export declare const fromIterable: <A>(iterable: Iterable<A>) => Fx<A>;
```

## Why

Finite synchronous collections can participate in push composition without
changing their iteration order or introducing a separate collection protocol.

## Ownership and lifetime

Construction stores the iterable but does not iterate it. Each run obtains a fresh
iterator, offers values sequentially to the sink, and completes after iteration.
Interruption stops further iteration. No child fiber or buffer is created.

## Examples

```ts
import { Effect } from "effect"
import { collectAll, fromIterable } from "@typed/fx/Fx"

const program = collectAll(fromIterable(new Set([1, 2, 3]))).pipe(
  Effect.map((values) => values.join(","))
)
```
