I'm not sure where you're getting that `::: section` syntax from. It doesn't appear anywhere in the CommonMark spec. Container blocks in Markdown are just things like blockquotes and list items...
I had thought the `::: section` syntax was a recommended approach (if not yet part of the formal spec).
In the past, I have used various home grown solutions to this, but recently I have been using markdown-it and the accompanying
plying markdown-it-container. On the CommonMark forums, I see that the ::: syntax is a leading contender, but that CommonMark itself will not address extensions to basic markdown until after the spec reaches 1.0