It is very hard to reason about the laziness, unfortunately, so it is more of a beautiful hack most often rather than a sustainable design methodology. While with macros you&#x27;ve got a very simple, reproducible, verifiable design methodology for constructing arbitrarily complex DSLs.