This would principally be for post-processing.
With code fences it is clear in the AST what was set as the "argument",
whereas in divs this is not clear.
{.a .b}
```cd
e
{.a .b}
:::cd
e
:::
doc
code_block text="e\
" lang="cd" class="a b"
div class="a b cd"
para
str text="e"
I'm thinking along the lines of rST, where you have a clear, singular name for directives:
```restructuredtext
.. note::
:class: a b c
Content
Also, the div argument is currently not recognised, if it is only one character long:
This would principally be for post-processing. With code fences it is clear in the AST what was set as the "argument", whereas in divs this is not clear.
{.a .b} :::cd e :::
doc code_block text="e\ " lang="cd" class="a b" div class="a b cd" para str text="e"
Also, the div argument is currently not recognised, if it is only one character long: