The types that characterize conflicts and dependencies are somewhat hard to understand. In particular, the type CriticalPair has some fields of type Maybe, but whose existence is related to the value of another field, of type CriticalPairType. This should be refactored into a sum type, such that pattern matching gives you only the fields that exist.
The types that characterize conflicts and dependencies are somewhat hard to understand. In particular, the type
CriticalPair
has some fields of typeMaybe
, but whose existence is related to the value of another field, of typeCriticalPairType
. This should be refactored into a sum type, such that pattern matching gives you only the fields that exist.