# intersection

Intersection with another record.

## Signatures

```ts
export declare const intersection: {
    <K extends string, V>(that: Record.ReadonlyRecord<K, V>, combine?: (selfValue: V, thatValue: V) => V): <E, R>(ref: RefRecord<K, V, E, R>) => Effect.Effect<Record.ReadonlyRecord<K, V>, E, R>;
    <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>, that: Record.ReadonlyRecord<K, V>, combine?: (selfValue: V, thatValue: V) => V): Effect.Effect<Record.ReadonlyRecord<K, V>, E, R>;
};
```

## Why

Intersection with another record. The operation remains attached to the RefSubject's versioned
state boundary.

## Ownership and lifetime

Running intersection performs one serialized record transition and resolves with its committed
value. It acquires no resource; failures and services remain those of the source ref.
