Apparently the expression evaluator doesn't know about
$(...), whether accidentally or by design. I guess there is some processing to parse $(...) in the top level of Jim parsing that is not available when an expression is parsed. You might compare it with a C preprocessor macro.

