@@ -186,7 +186,12 @@ internalExpr syn =
186186 <|> rewriteTerm syn
187187 <|> try(pi syn)
188188 <|> doBlock syn
189− <|> do simpleExpr syn
189+ <|> do s <- simpleExpr syn
190+ fc <- getFC
191+ bang <- option False (do lchar '!'; return True)
192+ if bang then return (PAppBind fc s [])
193+ else return s
194+
190195 <?> "expression"
191196
192197{- | Parses a case expression
@@ -269,8 +274,8 @@ simpleExpr syn =
269274 <|> caseExpr syn
270275 <|> do reserved "Type"; return PType
271276 <|> do fc <- getFC
272− bang <- option False (do lchar '!'; return True)
273277 x <- fnName
278+ bang <- option False (do lchar '!'; return True)
274279 if bang then return (PAppBind fc (PRef fc x) [])
275280 else return (PRef fc x)
276281 <|> try (listExpr syn)