{-# LANGUAGE Arrows #-} -- test for out-size tuples: takes a _long_ time to compile module ShouldCompile where import Control.Arrow data T1 = C1 data T2 = C2 data T3 = C3 data T4 = C4 data T5 = C5 data T6 = C6 data T7 = C7 data T8 = C8 data T9 = C9 data T10 = C10 data T11 = C11 data T12 = C12 data T13 = C13 data T14 = C14 data T15 = C15 data T16 = C16 data T17 = C17 data T18 = C18 data T19 = C19 data T20 = C20 data T21 = C21 data T22 = C22 data T23 = C23 data T24 = C24 data T25 = C25 data T26 = C26 data T27 = C27 data T28 = C28 data T29 = C29 data T30 = C30 data T31 = C31 data T32 = C32 data T33 = C33 data T34 = C34 data T35 = C35 data T36 = C36 data T37 = C37 data T38 = C38 data T39 = C39 data T40 = C40 data T41 = C41 data T42 = C42 data T43 = C43 data T44 = C44 data T45 = C45 data T46 = C46 data T47 = C47 data T48 = C48 data T49 = C49 data T50 = C50 data T51 = C51 data T52 = C52 data T53 = C53 data T54 = C54 data T55 = C55 data T56 = C56 data T57 = C57 data T58 = C58 data T59 = C59 data T60 = C60 data T61 = C61 data T62 = C62 data T63 = C63 data T64 = C64 data T65 = C65 data T66 = C66 data T67 = C67 data T68 = C68 data T69 = C69 data T70 = C70 f :: Arrow a => a Int Int f = proc x0 -> do x1 <- returnA -< C1 x2 <- returnA -< C2 x3 <- returnA -< C3 x4 <- returnA -< C4 x5 <- returnA -< C5 x6 <- returnA -< C6 x7 <- returnA -< C7 x8 <- returnA -< C8 x9 <- returnA -< C9 x10 <- returnA -< C10 x11 <- returnA -< C11 x12 <- returnA -< C12 x13 <- returnA -< C13 x14 <- returnA -< C14 x15 <- returnA -< C15 x16 <- returnA -< C16 x17 <- returnA -< C17 x18 <- returnA -< C18 x19 <- returnA -< C19 x20 <- returnA -< C20 x21 <- returnA -< C21 x22 <- returnA -< C22 x23 <- returnA -< C23 x24 <- returnA -< C24 x25 <- returnA -< C25 x26 <- returnA -< C26 x27 <- returnA -< C27 x28 <- returnA -< C28 x29 <- returnA -< C29 x30 <- returnA -< C30 x31 <- returnA -< C31 x32 <- returnA -< C32 x33 <- returnA -< C33 x34 <- returnA -< C34 x35 <- returnA -< C35 x36 <- returnA -< C36 x37 <- returnA -< C37 x38 <- returnA -< C38 x39 <- returnA -< C39 x40 <- returnA -< C40 x41 <- returnA -< C41 x42 <- returnA -< C42 x43 <- returnA -< C43 x44 <- returnA -< C44 x45 <- returnA -< C45 x46 <- returnA -< C46 x47 <- returnA -< C47 x48 <- returnA -< C48 x49 <- returnA -< C49 x50 <- returnA -< C50 x51 <- returnA -< C51 x52 <- returnA -< C52 x53 <- returnA -< C53 x54 <- returnA -< C54 x55 <- returnA -< C55 x56 <- returnA -< C56 x57 <- returnA -< C57 x58 <- returnA -< C58 x59 <- returnA -< C59 x60 <- returnA -< C60 x61 <- returnA -< C61 x62 <- returnA -< C62 x63 <- returnA -< C63 x64 <- returnA -< C64 x65 <- returnA -< C65 x66 <- returnA -< C66 x67 <- returnA -< C67 x68 <- returnA -< C68 x69 <- returnA -< C69 x70 <- returnA -< C70 returnA -< x70 returnA -< x69 returnA -< x68 returnA -< x67 returnA -< x66 returnA -< x65 returnA -< x64 returnA -< x63 returnA -< x62 returnA -< x61 returnA -< x60 returnA -< x59 returnA -< x58 returnA -< x57 returnA -< x56 returnA -< x55 returnA -< x54 returnA -< x53 returnA -< x52 returnA -< x51 returnA -< x50 returnA -< x49 returnA -< x48 returnA -< x47 returnA -< x46 returnA -< x45 returnA -< x44 returnA -< x43 returnA -< x42 returnA -< x41 returnA -< x40 returnA -< x39 returnA -< x38 returnA -< x37 returnA -< x36 returnA -< x35 returnA -< x34 returnA -< x33 returnA -< x32 returnA -< x31 returnA -< x30 returnA -< x29 returnA -< x28 returnA -< x27 returnA -< x26 returnA -< x25 returnA -< x24 returnA -< x23 returnA -< x22 returnA -< x21 returnA -< x20 returnA -< x19 returnA -< x18 returnA -< x17 returnA -< x16 returnA -< x15 returnA -< x14 returnA -< x13 returnA -< x12 returnA -< x11 returnA -< x10 returnA -< x9 returnA -< x8 returnA -< x7 returnA -< x6 returnA -< x5 returnA -< x4 returnA -< x3 returnA -< x2 returnA -< x1 returnA -< x0