Introduced the ContextExpr object, which allows simple callables that
are lambdas that delay evaluation of an expression to be instead
represented by an expression involving a simple context object
that records the attribute path