# runFork

Runs an `Fx` in a new fiber, using the standard `Effect.runFork`.
This is useful for integrating with the top-level Effect runtime.

## Signatures

```ts
export declare const runFork: <A, E>(fx: Fx<A, E>, options?: RunOptions) => Fiber<void, E>;
```

## Why

Application and foreign-runtime boundaries sometimes need to start an `Fx` without
already being inside an Effect program.

## Ownership and lifetime

`runFork` starts immediately on Effect's default runtime, so it only accepts an `Fx`
with no unsupplied services. The returned root fiber owns the subscription and must
be interrupted by the caller when the source should stop. Values are discarded;
failures appear on the fiber and `RunOptions` controls the runtime launch.

## Examples

```ts
import { Effect, Fiber } from "effect"
import { periodic, runFork } from "@typed/fx/Fx"

const fiber = runFork(periodic("1 second"))

// `runFork` is already a host-runtime boundary. Execute the returned
// interruption Effect when this host no longer needs the subscription.
await Effect.runPromise(Fiber.interrupt(fiber))
```
