@@ -1348,7 +1348,8 @@ pClause syn
13481348 cargs <- many (pConstraintArg syn)
13491349 iargs <- many (pImplicitArg (syn { inPattern = True } ))
13501350 fc <- pfc
1351− args <- many (pArgExpr syn)
1351+ args <- many (try (pImplicitArg (syn { inPattern = True } ))
1352+ <|> (fmap pexp (pArgExpr syn)))
13521353 wargs <- many (pWExpr syn)
13531354 rhs <- pRHS syn n
13541355 ist <- getState
@@ -1360,7 +1361,7 @@ pClause syn
13601361 do pTerminator
13611362 return ([], [])]
13621363 let capp = PApp fc (PRef fc n)
1363− (iargs ++ cargs ++ map pexp args)
1364+ (iargs ++ cargs ++ args)
13641365 ist <- getState
13651366 setState (ist { lastParse = Just n })
13661367 return $ PClause fc n capp wargs rhs wheres)
@@ -1386,10 +1387,11 @@ pClause syn
13861387 cargs <- many (pConstraintArg syn)
13871388 iargs <- many (pImplicitArg (syn { inPattern = True } ))
13881389 fc <- pfc
1389− args <- many (pArgExpr syn)
1390+ args <- many (try (pImplicitArg (syn { inPattern = True } ))
1391+ <|> (fmap pexp (pArgExpr syn)))
13901392 wargs <- many (pWExpr syn)
13911393 let capp = PApp fc (PRef fc n)
1392− (iargs ++ cargs ++ map pexp args)
1394+ (iargs ++ cargs ++ args)
13931395 ist <- getState
13941396 setState (ist { lastParse = Just n })
13951397 reserved "with"