Markus Winand explains this very nicely in his article that although the current form for keyset predicates that is implemented might be easier understandable, DBMS might not see through it that easily. Since DBMS can only use top level conjuncts for index lookups, we should rewrite the predicate generation to that form so we get more efficient execution plans.