Make space for variable defaulting.
Instances for modules.
Make more regular use of syntax.
Correctly round trips a YAML input file.

Round-tripping here means decodeFile, encodeFile, decodeFile, compare values.