Why can diagrams have only one parent?

Yeah, I know, a lot of questions where already asked about sub-diagrams. And quite a few people have asked about multiple parents for a given sub-diagram. The answer has always been that one needs to create a subprocess instead. That’s all very fine, but suppose your main UML-diagram is quite complicated, and the subprocess is actually also quite complex. The logical step then, is to indicate the subprocess as a sub-diagram. Think about functions in some program; suppose I have a MD5-check function, that needs some complicated decision behavior based on network properties. This function I’ll need in many different places in my code-base. And I really don’t want to create a subprocess of that check everywhere, because it will completely clutter the ‘parent’ diagrams.

So instead of asking what to do instead, I’d like to know -why- the software only accepts single-parent relationships. Because in any well designed code base, it is very logical for creating simple blocks, that are called from many different places, directly leading to multiple parents in my diagram. It is the most important thing in writing big software projects, as far as I can see. Where is my mistake in this reasoning?