@@ -128,7 +128,9 @@ parseNameAndType p = (,) <$> (indented *> (lname <|> stringLiteral) <* indented
128128parseRowEnding :: TokenParser Type
129129parseRowEnding = P.option REmpty $ indented *> pipe *> indented *> P.choice (map P.try
130130 [ parseTypeWildcard
131− , TypeVar <$> identifier ])
131+ , TypeVar <$> identifier
132+ , parseTypeConstructor
133+ , parens parseRow ])
132134
133135parseRow :: TokenParser Type
134136parseRow = (curry rowFromList <$> commaSep (parseNameAndType parsePolyType) <*> parseRowEnding) P.<?> "row"