{-# LANGUAGE Arrows #-} bar0 f g h x = proc (y, z) -> (| test (h f.(h g) -< (y x).y z)((h g) . h f- f -< x&&&g -< y bar2 f g h x = proc (y, z) -> h f.(h g) -< (y x).y z ||| (h g) . h f- (h f.h g) -< (y x).y z ||| (h g . h f) -