@@ -1364,7 +1364,8 @@ pClause syn
13641364 cargs <- many (pConstraintArg syn)
13651365 iargs <- many (pImplicitArg (syn { inPattern = True } ))
13661366 fc <- pfc
1367− args <- many (pArgExpr syn)
1367+ args <- many (try (pImplicitArg (syn { inPattern = True } ))
1368+ <|> (fmap pexp (pArgExpr syn)))
13681369 wargs <- many (pWExpr syn)
13691370 rhs <- pRHS syn n
13701371 ist <- getState
@@ -1376,7 +1377,7 @@ pClause syn
13761377 do pTerminator
13771378 return ([], [])]
13781379 let capp = PApp fc (PRef fc n)
1379− (iargs ++ cargs ++ map pexp args)
1380+ (iargs ++ cargs ++ args)
13801381 ist <- getState
13811382 setState (ist { lastParse = Just n })
13821383 return $ PClause fc n capp wargs rhs wheres)
@@ -1402,10 +1403,11 @@ pClause syn
14021403 cargs <- many (pConstraintArg syn)
14031404 iargs <- many (pImplicitArg (syn { inPattern = True } ))
14041405 fc <- pfc
1405− args <- many (pArgExpr syn)
1406+ args <- many (try (pImplicitArg (syn { inPattern = True } ))
1407+ <|> (fmap pexp (pArgExpr syn)))
14061408 wargs <- many (pWExpr syn)
14071409 let capp = PApp fc (PRef fc n)
1408− (iargs ++ cargs ++ map pexp args)
1410+ (iargs ++ cargs ++ args)
14091411 ist <- getState
14101412 setState (ist { lastParse = Just n })
14111413 reserved "with"