Remove redundant pragmas
Remove redundant imports
Factor out pure code from outputWith
Move instance declaration close to data declarations
Refactor parseMode for easy reading
Refactor spanHSE for easy reading

Pulled a nifty utility out.
Remove dead code

Was the removed code used for REPL testing purposes?
Quiet the orphan warnings
Remove redundant comment
Remove redundant do and extra indentation level
Move output closer to outputWith

Seems more logical.
Fix linter concat map to concatMap whining