On second though, you should override the `is_empty` method because `len` is `O(n)`