Thanks Joseph for these very useful clarifications.
Ad a), you make a good point here that we maybe need another string for a data separator, as the actual listsep is uses for two different and possibly contradictory uses (data and list separator).
Ad b), if I understand correctly, the function localize format a number in a proper localisation (and unlocalize revert this formatting), that's all. Not rocket science here.
Ciao, Nicolas