@@ -126,7 +126,9 @@ parseNameAndType :: TokenParser t -> TokenParser (String, t)
126126parseNameAndType p = (,) <$> (indented *> (lname <|> stringLiteral) <* indented <* doubleColon) <*> p
127127
128128parseRowEnding :: TokenParser Type
129−parseRowEnding = P.option REmpty (TypeVar <$> (indented *> pipe *> indented *> identifier))
129+parseRowEnding = P.option REmpty $ indented *> pipe *> indented *> P.choice (map P.try
130+ [ parseTypeWildcard
131+ , TypeVar <$> identifier ])
130132
131133parseRow :: TokenParser Type
132134parseRow = (curry rowFromList <$> commaSep (parseNameAndType parsePolyType) <*> parseRowEnding) P.<?> "row"