@@ -54,8 +54,7 @@ parseForAll = mkForAll <$> ((reserved "forall" <|> reserved "∀") *> P.many1 (i
5454--
5555parseTypeAtom :: TokenParser Type
5656parseTypeAtom = indented *> P.choice
57− [ P.try parseConstrainedType
58− , P.try parseFunction
57+ [ P.try parseFunction
5958 , parseTypeLevelString
6059 , parseObject
6160 , parseTypeWildcard
@@ -81,9 +80,8 @@ parseConstrainedType = do
8180 ty <- P.many parseTypeAtom
8281 return (Constraint className ty Nothing)
8382
84−
8583parseAnyType :: TokenParser Type
86−parseAnyType = P.buildExpressionParser operators (buildPostfixParser postfixTable parseTypeAtom) P.<?> "type"
84+parseAnyType = P.buildExpressionParser operators (buildPostfixParser postfixTable (P.try parseConstrainedType <|> parseTypeAtom)) P.<?> "type"
8785 where
8886 operators = [ [ P.Infix (return TypeApp) P.AssocLeft ]
8987 , [ P.Infix (P.try (parseQualified parseOperator) >>= \ident ->