ref: 7f636a8e64f190fbca72ae31abb34f72632b57ea dhall-ruby/lib d---------
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
individual bytes.
Do not load if already loaded

In case the resolver has some values already
to_s before load
Remove hardcoded list of builtin names
Update handling of builtins

Always parse to a special value and not to variables.
Encode seperately.
Remove empty re-opens from normalize
Normalize text concat as interpolation
Update dhall-lang and work with the new ABNF
as_dhall for Symbol
Parse expression from ENV var import

Instead of the path-only support from before.
Standard reader requires UTF-8

To disable heuristics, force remote content to be UTF-8 text.
Fail fast when encoding is bad
Add grab-bag of useful utils onto expressions
Add a Dhall.dump
Fix to_cbor usage
nil hash values are omitted from record
Add as_dhall refinement