export type Collector

= () => P export type Responder

= (payload: P) => void export type Lean = { stop: () => void collect:

(collector: Collector

) => P } export interface ReactorCore { reaction

( collector: Collector

, responder?: Responder

, ): () => void lean(actor: () => void): Lean }