If we are saying that the ACE <=> IDN(UTF8) so why is the two headers
because there are things which will know about the old headers and change
those, without changing the new utf8 headers.
If old headers only contains ACE why will those *things* change them, which
means nowadays MTA or MUA may change david(_at_)neteka(_dot_)com to something
this an implementation problem?
also if new MUA always use the new headers and only old existing MUA
able to read the new headers will use the old ACE headers, so why MUA
know which one is more recent?
because there are things which change the headers, always using the utf-8
headers is not the right thing to do - they might be obsolete.
about the best you can do is require each things that ues the new headers
to check for consistency with the old headers - if they're not consistent,
use the old headers.
I think you miss what I said, I said use ACE with the old headers and UTF8
ONLY in the new headers. Which is not always using utf8 headers.
in general, it's nearly always a bad idea to have two different sources
of the same kind of information and claim that they're both authoritative.
if you're going to have multiple sources of the same information,
you need some way to decide between them for the cases when they don't
So ACE is a bad idea, because it claim authoritative for the ASCII and IDN
names : )