According to the documentation
The string returned by a macro call is parsed separately from any surrounding WikiText components. So a safe way to insert a special character sequence (such as [[ or <) without triggering its normal WikiText meaning (emphasis mine) is to wrap it in a macro.
Is this really the case? The attached tiddler describes the issue.