rule A is first en hits: there is snapping
rule B is second, but has priority false: no snap check
rule C is third, but has priority true: snap is checked and hits: this is the new result (whatever ruleA had as a result)
rule D is forth, but has priority true: snap is checked but does not hit: this should not alter the result of ruleC.
=> now, it seems possible the fail of ruleD results in the total failure of snap, i.e. no snap is registered.