No line wrapping

I have a marco intended to wrap content that will only display if a variable (visibility-flag) is set to true, if which case it shows in a small font size.

The problem is that the text doesn’t wrap around at the page width. I have to manually add end of lines. Any clues as to why this works this way and how to fix it?

<assign | invisible |
    <macro|arg|
        <if|visibility-flag|<with|font-base-size|8|arg>>
    >
  >