Hi Andreas,

 > There is a name clash between l3io and l3messages. l3io  defines
 > a \iow_newline: (with colon), whereas l3messages requires a
 > \iow_newline (without colon).
 > I am not sure if it should be a function or a variable.

i think of it as a function though those things are a bit "matter of
opinion". Basically variables (other than tlps) cannot be used in the input
stream by themselves. tlps are different as they acknowlegde the fact that TeX
operates on token streams and tlps are simply containers for parts of the

but it is interesting to look at the history (opinions change over time)
... at one stage it was \c_iow_newline .. then .. \iow_newline: ... then ...

 > * Since \err_newline: is a function, \iow_newline: should be
 >   a function, too.

i think it should be \iow_newline: and the documentation and code updated


advance warning: I plan to clean up the names used for certain functions in
l3iow as they are not really fully consistent (probably in 4 weeks) --- will
send out proposal for changes then for those who are interested.