base: impl. macro_xyz. handle empty string case and value-as-list case