Let clang check the doxygen comments.
Too bad: strlen is not allowed in a static_assertion expression. Add workaround.
Add comments and hide what does not need to be visible to other translation
units.
Turn compiler warnings into errors.
Fix comments.
Improve consistency.