Significant refactoring using ClassyPrelude.
Updated package description.
Applied stylish-haskell.
Replaced getopt with optparse-applicative.