@pike @edvin the downside of maintaining a separate counter variable that's updated in conjunction with the list is that the increment/decrement code needs to be dragged around to any new list-modifying operation. if it's forgotten, then the count will be out-of-sync