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