A lot of mods are overengineered. By recklessly copying and generating references, you indeed get incompatibilities like this. If you write code with future robustness in mind, this happens less.
For example, when space exploration is installed, it tries to construct a "personal-turret-se-railgun-ammo-equipment-railgun" and gives an error, probably because it finds the word "railgun" in the data structure for Space Exploration?
This is not a problem with Space Exploration, any mod that adds 'railgun'-related content will be the same. You can of course just mark the other mods as "incompatible", but I think that is a weak solution.
Would you be interested in refactoring your code so it just generates stuff within the scope of the mod and doesn't take data from other mods? That would be much more clean.