protected function valueRetriever($value) { return function ($item) use($value) { return is_object($item) ? $item->{$value} : array_get($item, $value); }; }