Better way to do {{yield}} replacements in macros (faster and preserving original location)