It appears that all element types first listed are then exempted again via the `inlinetags` list, except the `p` type. This looks indeed like a very complicated way to come up with a list of only `p`. - A bug? Or maybe an attempt to conform to a common pattern in Pandoc to list candidates first and then subtract them again if necessary? I have no knowledge of JATS so I cannot comment on semantics. Is there some kind of ambiquity that e.g. the `address` element can appear both as a block and inline element?
I just realised this function produces TRUE if the name of the element is "p", false otherwise. Why do we need a 126 lines to do the same as:qName (elName e) == pWhat am I missing?