Valóban, a short circuit probléma akkor is, ha bool mindkettő.
De tudjuk hogy bool-e mindkettő? Én nem néztem utána. Ugyanakkor az sem egy jól megdesign-olt rendszer, ha egy metódus hívásra exceptiont, vagy akármit dob, főleg egy empty()-re. Ezt az érték ellenőrzést már abba bele kellett volna építeni.