@@ -975,7 +975,9 @@ pLet syn = try (do reserved "let"; n <- pName;
975975 return (PCase fc v [(pat, sc)]))
976976
977977pPi syn =
978− try (do lazy <- option False (do lchar '|'; return True)
978+ try (do lazy <- if implicitAllowed syn -- laziness is top level only
979+ then option False (do lchar '|'; return True)
980+ else return False
979981 st <- pStatic
980982 lchar '('; xt <- tyDeclList syn; lchar ')'
981983 doc <- option "" (pDocComment '^')