Hoist single-label enum into array
Split Union and Enum
Stop putting special case conditionals for Union#value.nil? everywhere
and just split the classes.
Allow as_dhall to be customised by encode_with
Dhall has a goal to replace YAML. Ruby's ecosystem already has deep
integration with YAML (specifically with the Psych implementation in
stdlib) -- so if an object customises its YAML encoding, but doesn't
know about Dhall, customise the Dhall encoding in a compatible way.
Do not deep-annotate OpenStruct#as_dhall
Encoding binary string as List Natural
Certainly better than an error, and gives the dhall side access to the
Add grab-bag of useful utils onto expressions
nil hash values are omitted from record