Wouldn't it be more logical to make send(RANK_ALL_OTHER) always use a parallel broadcast?