1open Wonka_types; 2 3let map = f => curry(source => curry(sink => { 4 source((.signal) => sink(. 5 switch (signal) { 6 | Start(x) => Start(x) 7 | Push(x) => Push(f(.x)) 8 | End => End 9 } 10 )); 11}));