             deleted.append(value)
         }
         filtered = current
+        return (true, current.count)
     }
     
     public func filter(_ isIncluded: (Element) -> Bool) {

        return current.contains(where: { isEqual($0, value) })
    }
    
    public func append(_ value: Element) {
        guard !contains(where: { isEqual($0, value) }) else { return }
        current.append(value)
        added.append(value)
        filtered = current
    }
    
    public func update(_ value: Element) {
        // если нет в списке - выходим
        guard let currentIndex = index(where: { isEqual($0, value) }) else { return }
        // если есть в списке добавленных - выходим
        guard !added.contains(where: { isEqual($0, value) }) else { return }
        
        if let updatedIndex = updated.index(where:{ isEqual($0, value) }) {
          updated[updatedIndex] = value

        
        current[currentIndex] = value
        filtered = current
        
        return (true, current.count)
    }
    
    public func remove(_ value: Element) -> (Bool, count: Int) {
        guard let index = current.index(where: { isEqual($0, value) }) else { return (false, current.count) }
        current.remove(at: index)
        
        // если объект был добавлен, то удаляем его из списка добавленных
