size() == 0 -> empty()