A valid point in return. If this check is ever false, it's probably because the user specified the shuffles.

I think you're right -- both here and in `ShuffleBeforeJoin` we should throw an exception if only one of the two is specified.