better handling of dot-notation in macros and fail-silent handling in empty lists