Introduction
To package Haskell modules we have to somehow write and maintain a .cabal
file.
There’s various ways of creating a .cabal package definition, kickstarting
with cabal init or summoner or by copying another cabal file and changing
field values by hand.