Will and I have briefly discussed l3messages, and I thought I'd summarise
for the list a few observations:

- The module prefix \err is not really that helpful, as some of the
functions are related to information rather than errors: would \msg_ be
better (at least for the non-error parts)?

- Saving the error messages to file to save memory is not really relevant
today, especially as every message needs a tlp in any case.  

- On the other hand, perhaps having the errors in this way makes
localisation of messages easier? Is this something that should be
considered, and if so an alternative mechanism is needed.

- The interface is not that helpful. As well as some problems creating
messages, there is no easy way to re-create \PackageInfo, etc. from LaTeX2e:
no automated adding of package name, etc. This leaves the programmer to sort
out their own system (or not).

- The messages themselves need some attention. Compared to LaTeX2e messages,
some extra lines of code appear in the output that don't really help.
Currently, \g_file_curr_name_tlp is set to "no file" and (apparently) never
changed elsewhere. So messages never give a clue to the file concerned.

- Some parts of the file are not documented (for example \text_put_sp:).

Over all, I'd suggest this needs some attention, but first some kind of
updated structure should be agreed.
Joseph Wright