Hi,
after a docs_a | docs_b union i got two matching docs. I assume the reason is the case-sensitive comparison in types.py DocumentIdentifier.matches() on case-insensitive DOI.
I suggest to sanitize the DOI with .lower() before it is appended to the Document. If it is only sanitized for comparison, the performance of the networks will decrease.