Renders the body of the directive body to the specified writer. The
writer is not flushed after the rendering. If you pass the environment's
writer, there is no need to flush it. If you supply your own writer, you
are responsible to flush/close it when you're done with using it (which
might be after multiple renderings).