note formalRecord is used further down in the function.  Previously it was the unadorned version of the record - a kind of normalized form which can be compared for equality - which doesn't match the actual record .  In this case the field had mixed case in the original, and all lower case in the "unadorned" version.  No longer matching caused problems when a LEFT selector based on that record was substituted in an expression tree.