Hello,
I have this following constraint in my Minizinc model:
constraint forall(s in index_set(shiftVars) where  shiftVars[s].numD > 0) (
    forall(d in 0..shiftVars[s].numD-1)(
    if ( d<shiftVars[s].numD /\ d>=0 /\ occurs(shiftVars[s].walk[d].start) ) then ( 
    shiftVars[s].walk[d].duration == shiftVars[s].drive[d].start - shiftVars[s].walk[d].start) endif
    ));
As you can see, there are some unnecessary parts in it. Now, I wanted to remove for example d<shiftVars[s].numD, as it has no practical use. (d is looped until shiftVars[s].numD-1, so it will never be bigger than shiftVars[s].numD and the result is always true.) 
However, as soon as I remove it, the runtime for the chuffed solver rises a lot (14 seconds vs.
1 min 24 seconds),  and the number of nodes rises from 31607 to 39015. I always used the same seed.
This seems really counterintuitive 
to me. Why does this happen?