public Optional <ListChange <T> > Clear <T>() { var oldTrueCount = _items.Sum(); _items = _items.Clear(); return(oldTrueCount == 0 ? Optional.None <ListChange <T> >() : ListChange.Clear <T>()); }