OK.  You have a point about the language.  But then there are other places in the code which should check against `apiname.language` rather than desc['languge'].  

Also, I think that the hdrname and srcfile should be combined into a single container that represents all possible locations for the source code.