export interface EffectAtom { output: T } export type Effect = EffectAtom[] export interface Kind1 { input: Inp return: Out } export interface Program { effects: Effs, exitCode: ExitCode, } export interface Bind extends EffectAtom { input: Eff chainTo: Fn }