@@ -1335,7 +1335,12 @@ checkPossible info fc tcgen fname lhs_in
1336 checkRec (App f a) p@(P _ _ _) = checkRec f p
1336 checkRec (App f a) p@(P _ _ _) = checkRec f p
1337 checkRec p@(P _ _ _) (App f a) = checkRec p f
1337 checkRec p@(P _ _ _) (App f a) = checkRec p f
1338+ checkRec fa@(App _ _) fa'@(App _ _)
1339+ | (f, as) <- unApply fa,
1340+ (f', as') <- unApply fa'
1341+ = if (length as /= length as')
1338− checkRec (App f a) (App f' a') = checkRec f f' && checkRec a a'
1343+ else checkRec f f' && and (zipWith checkRec as as')
1339 checkRec (P xt x _) (P yt y _) = x == y || ntRec xt yt
1344 checkRec (P xt x _) (P yt y _) = x == y || ntRec xt yt
1340 checkRec _ _ = False
1345 checkRec _ _ = False