Most headers non-compliant with spec
Keyword
is imported from dir-spec and
KeyValue ::= Keyword "=" Value
Keyword = KeywordChar+
KeywordChar ::= 'A' ... 'Z' | 'a' ... 'z' | '0' ... '9' | '-'
but... most headers have underscores in them.
My parser wasn't strict enough to catch this the first time. ):
I suggest this is fixed with a specification update to reflect reality rather than creating complexity we have to maintain forever parsing two sets of keys.