instead why not always just `empty()`?