# withLatestFromWith

Like {@link withLatestFrom}, but combines the pair with `f`.

## Signatures

```ts
export declare const withLatestFromWith: {
    <A, B, E2, R2, C>(that: Fx<B, E2, R2>, f: (a: A, b: B) => C): <E, R>(self: Fx<A, E, R>) => Fx<C, E | E2, R | R2>;
    <A, E, R, B, E2, R2, C>(self: Fx<A, E, R>, that: Fx<B, E2, R2>, f: (a: A, b: B) => C): Fx<C, E | E2, R | R2>;
};
```

## Why

`withLatestFromWith` applies a synchronous projection at each eligible left emission without
allocating a public tuple stage. Cardinality and triggering remain those of `withLatestFrom`.

## Ownership and lifetime

It inherits the child right-hand fiber and latest-value lifetime from `withLatestFrom`; the pure
projection adds no failures, services, or resources.

## Examples

```ts
import { Fx } from "@typed/fx"
const labels = Fx.withLatestFromWith(Fx.fromIterable([1]), Fx.succeed("item"), (n, kind) => `${kind}-${n}`)
```
