WIP: Use Semigroup's (<>) for Doc/SDoc
Before this patch, Outputable.hs
defined its own (<>)
which caused
conflicts with (Data.Semigroup.<>)
and thus led to inconvenience.
However, replacing it is not trivial due to a different fixity:
http://www.haskell.org/pipermail/libraries/2011-November/017066.html
Nevertheless, it is possible to update the pretty-printing code to work
with (<>)
of a different fixitiy, and that's what this patch implements.
Now Doc
and SDoc
are instances of Semigroup
.