Many applications use configurations to customize their behavior at runtime.
The parameters in these configurations can have default values
that are used if nothing else is specified. Other values, such as passwords,
have no default values and must therefore always be provided when starting
the application.
In this article, we will go through several iterations to model
configurations in our programs using higher-kinded data in Haskell.
Read on...