The modules that implement the search for conflicts and dependencies have lot of duplicated code. In particular, some pushout complements are calculated in multiple places, some searches for morphisms are repeated in multiple places. We should try to reduce this duplication.
Why are there multiple functions findAllDeleteUse, findAllProduceForbid, etc, instead of just one findAllConflicts whose result can be filtered as required?
The modules that implement the search for conflicts and dependencies have lot of duplicated code. In particular, some pushout complements are calculated in multiple places, some searches for morphisms are repeated in multiple places. We should try to reduce this duplication.