The old logic flow had the structure if ( … ) { if ( … ) { … } else { … } } else { … } which is quite hard to follow in Nix. Instead we ensure that no if expression is inside a then branch. This change is zero rebuild, as no logic was changed.