1 2 3 4 5 6 7 8 9 10
{-# LANGUAGE Arrows #-} module ShouldCompile where import Control.Arrow f :: Arrow a => a (Int,Int) Int f = proc (x,y) -> do let z = x*y returnA -< y+z