CSPM.Desugar: ensure that parentheses are not removed, otherwise if someone pretty prints a type checked piece of AST then it would not have the same  semantics (necessarily).
CSPM.Desugar: ensure that parentheses are not removed, otherwise if someone
pretty prints a type checked piece of AST then it would not have the same 
semantics (necessarily).

Also, throw an error if a set pattern contains more than 1 element.
sashabu/libcspm