lib/cpp: add more comparison operators to Variant
lib/cpp: make Optional constructor explicit
compiler: switch from general __repr__ to language_repr()
compiler: fix up generator unit tests