Do you have an example? An additional from clause using OrderBy().Take() is a lateral join, whereas OrderBy().Take() in the group join is not. WhereClause is the only reasonable thing to bother shifting into the group join clause (and only when Skip/Take/Concat/etc are not present on the group join's inner sequence)