Because each item is a record that can be given to Filterer.  If each item was just a primitive type or something, you could just use Filterer::filter directly.