Tests now pass but I still think the bindings are incorrectly handled
by the interaction of concatExpr and funcallExpr.  In particular, the
bindings for the second expr in a concatExpr need to be the same as
for the first, but they get overwritten when evaluating funcallExpr.