refining handling HBS ifs, custom ne/gt/lt, etc.
better handling of dot-notation in macros and fail-silent handling in empty lists