" <- mapM mapLineCol' n" is simply "mapM mapLineCol' n". The convention is that the underscore at the end of monadic functions throw away the result and possibly more efficient. For example, sequence, forM, and foldM_ are identical to sequence, forM and foldM except they throw away the result.
I noticed you made changes to ErrM.hs, Lexclafer.hs, and Printclafer.hs. These files are automatically generated by the parser generator. All the changes you made will be overwritten whenever we make a single change to the parser. If you want your changes to persist, then the changes need to be in ErrM.diff, Lexclafer.diff, and Printclafer.diff. These are diff files that patch the automatically generated files whenever src/Language/Clafer/Front/Makefile is invoked.
Just a bunch of warning removals.This branch also includes the fix for i224
Also includes a fix to a bug where OPTIONS compiler directive was not working properly.