Go E Expressions: Make Missing Preloads an Explicit Error
Go programmers are comfortable with the comma-ok idiom:
value, ok := lookup(key)
That shape is useful for an E expression too, but one boolean cannot explain why a value is absent. In data-access code, there is a critical difference between a loaded null-like value and a field the query never selected.
TeaQL's generated Go E expressions preserve three states and provide two
evaluation styles: TryEval() for explicit error handling and Eval() for
strict fail-fast business logic.
