A valid point. ShuffleBeforeJoin has the same issue.  If the user manually specifies shuffles, I'm inclined to trust that they did it correctly.  We could at least assert when only half the operation has been shuffled.