samer@0: % obs_with - arrow to observe a signal while passing it through samer@0: % samer@0: % obs_with :: samer@0: % arrow({A},{},S) ~'arrow sink to observe values of type A', samer@0: % -> arrow({A},{A},pair(empty,S)). samer@0: samer@0: function b=obs_with(a), b=dup*first(a); end