Changelog
3.1.2  Apr 2020
    * Future-proof nested code gen interface
      with parametric `CodeFrag`ment that can
      refer to thing that is not a type.
3.1.1  Apr 2020
    * Expose Data.Aeson.AutoType.Nested
3.1.0  Apr 2020
    * New, experimental interface for nesting
      generated types by other code generators.
3.0.5  Mar 2020
    * Using package import from `run-haskell-module` by default.
    * Expose commonly used functions for:
        - normalizing Haskell type names,
        - formatting JSON Autotype types in Haskell
3.0.4  Mar 2020
    * Do not try to test compilation when module is written to stdout.
    * Update lens dependency bounds
3.0.3  Mar 2020
    * Separate running Haskell modules in `run-haskell-module` package.
3.0.2  Sep 2019
    * Relax `lens`, `hashable` version bounds for GHC 8.8.1 update.
3.0.0  Nov 2018
    * Distinguishing integers and floats.
    * Hide all API beside Alternative (as unused outside generator).
    * Add fixity for alt (#20)
    * Use `eitherDecode` instead of `decode` to get better error messages.
    * Split Data.Aeson.AutoType.Alternative to `json-alt`.
2.0.2  Nov 2018
    * Clean up the tests.
    * Remove compatibility with Aeson versions earlier than 1.2.1.
    * Removed all CPP macros
    * Add --version
2.0.1  Nov 2018
    * Better error reporting when parsing JSON.
2.0.0  Jun 2018
    * Elm support completed with untagged unions
    * Add HaskellStrict option for running tests with -Werror, -Wall by default.
    * Make random tests run with -Werror, -Wall by default
    * Update dependencies to Aeson ranged between 1.2.1-1.4
1.1.2  Mar 2018
    * Fixed maintainer list.
1.1.1  Mar 2018
    * Fixed test builds (for Haskell).
1.1.0  Mar 2018
    * Partial support Elm code generation.
1.0.19  Nov 2017
    * Allow to have a custom name for toplevel data type.
1.0.18  Nov 2017
    * Fixed unit tests.
    * Fixed import for inclusion in Stackage.
1.0.17  Nov 2017
    * Fixed build and test issues.
1.0.16  Nov 2017
    * Dependencies updated to resolve #12, #15.
    * Fixed orphan Generic for Aeson >= 1.2.1 (#14).
    * Cleaned option parsing code.
    * Qualify GHC.Generics import.
    * Switch to optparse-applicative
    * Option to explicitly unify selected entries
1.0.15  Dec 2016
    * Support YAML input.
1.0.14  May 2016
    * Update to latest lens.
1.0.13  Mar 2016
    * Bumped up hint upper bound for v0.5.
1.0.12  Mar 2016
    * Fixed issue #8 - misrepresenting Double as Int.
    * Fixed issue #9 - efficient formatting with new Aeson-0.10 builder (toEncoding.)
1.0.11  Mar 2016
    * Updated to GHC 8.0
1.0.10  Sep 2015
    * Fixed bug appeared with aeson 0.10 breaking change:
https://github.com/bos/aeson/issues/287
1.0.8  Sep 2015
    * Dependency bump for lens 4.13 and aeson 0.10.
1.0.7  Jul 2015
    * Dependency bump for lens and vector.
1.0.6  Jun 2015
    * Make lens and aeson versions consistent in the *.cabal file.
1.0.3-1.0.5  Jun 2015
    * Bumped Aeson dependency up.
    * Tiny docs corrections.
1.0.2  Jun 2015
    * Relaxed dependency for lens-4.11.
1.0.1  Apr 2015
    * Relaxed dependency to lens-4.10.
1.0  Apr 2015
    * First stable release.
0.5  Apr 2015
    * Reduced name space pollution when generating code.
      Now all valid JSON test examples do work.
    * Corrected build failure on GHC 7.8.4
0.4  Apr 2015
    * Release candidate for current functionality.
0.3  Apr 2015
    * Passed all smallcheck/quickcheck tests.
    * Approaching release candidate.
0.2.5.13  Apr 2015
    * Correctly handling lone option, not yet union with optionality.
      Fixed: #3.
0.2.5.12  Apr 2015
    * Added typechecking before and after type unification.
    * Added shrink for more informative QuickCheck testing.
    * Tested mostly using GHC 7.10.
0.2.5.11  Mar 2015
    * Add short versions of command line flags: -o, -d, and -t.
0.2.5.10  Mar 2015
    * Bump up lens dependency.
0.2.5.8  Mar 2015
    * Updated tests and build config.
0.2.5.7  Mar 2015
    * Fixed documentation anchors, and unit test classification for failures.
0.2.5.6  Mar 2015
    * Relaxed upper bounds for lens 4.8.
0.2.5.5  Mar 2015
    * (Skipped this version number by mistake.)
0.2.5.4  Dec 2014
    * Relaxed upper bounds for new lens.
0.2.5.3  Dec 2014
    * Relaxed upper bounds again.
0.2.5.2  Dec 2014
    * Updated metainfo, relaxed upper bounds for GHC 7.10.
0.2.5.0  Nov 2014
    * Nicer union type syntax in Data.Aeson.AutoType.Alternative.
0.2.4.0  Nov 2014
    * To assure proper treatment of unions,
      I make them with Data.Aeson.AutoType.Alternative type instead of Either.
0.2.3.0  Nov 2014
    * Explicit JSON parser generation to avoid conflicts between Haskell keywords and field names.
    * Renaming of Haskell field names with a prefix of object name (data type.)
0.2.2.0  Nov 2014
    * GenerateJSONParser may now take multiple input samples to produce single parser.
    * Fixed automated testing for all example files.
0.2.1.4  Oct 2014
    * Added examples to the package distribution.
0.2.1.3  Oct 2014
    * Cleaned up package.
    * Changelog in markdown format.
0.2.1  Oct 2014
    * Added option to use it as a filter ('-' is accepted input name.)
0.2.0  Oct 2014
    * First release to Hackage.
    * Handling of proper unions, and most examples.
    * Automatically tested on a wide range of example documents (see
    tests/)
    * Initial documentation in README.md.
0.1.0  July 2014
* First experiments uploaded to GitHub, and discussed to
HackerSpace.SG.