# isFx

Checks whether a value carries the `FxTypeId` protocol property.

## Signatures

```ts
export declare function isFx(u: unknown): u is Fx<any, any, any>;
```

## Why

Interoperability code can distinguish an already constructed `Fx` from effects,
streams, iterables, and arbitrary values before choosing an explicit adapter.

## Ownership and lifetime

The guard performs one property check. It does not subscribe to or run the value.

## Examples

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

const candidate: unknown = succeed(42)
const value = isFx(candidate) ? candidate : succeed(candidate)
```
