{ [weak self] (changes: RealmCollectionChange) in switch changes { case let .Initial(persons): self?.viewModels.extend(persons.map { $0.bindable }) case let .Update(persons, _, _, _): self?.viewModels.diffInPlace(persons.map { $0.bindable }) case let .Error(error): … }