Если коллекция состоит из сущностей, то у самой внутренней сущности надо сделать метод который вернёт дифф, тогда ваще array map на array filter и готово
Через функции массивов ты сможешь передавать более осмысленные функции. В принципе в циклах тоже, но там есть непреодолимое желание нахуярить итеративно и непонятно.