Also, we are not using `empty()` but "real" comparisons.