@@ -24,19 +24,18 @@ typeDecl =
2424 do reserved "type" <?> "type declaration"
2525 forcedWS
2626 isAlias <- optionMaybe (string "alias" >> forcedWS)
27+
28+ name <- capVar
29+ args <- spacePrefix lowVar
30+ padded equals
31+
2732 case isAlias of
2833 Just _ ->
29− do name <- capVar
30− args <- spacePrefix lowVar
31− padded equals
32− tipe <- Type.expr
34+ do tipe <- Type.expr <?> "type"
3335 return (D.TypeAlias name args tipe)
3436
3537 Nothing ->
36− do name <- capVar <?> "name of data-type"
37− args <- spacePrefix lowVar
38− padded equals
39− tcs <- pipeSep1 Type.constructor
38+ do tcs <- pipeSep1 Type.constructor <?> "constructor for a union type"
4039 return $ D.Datatype name args tcs
4140
4241