private function andExpressions($expressions) { return function ($object) use($expressions) { foreach ($expressions as $expression) { if (!$expression($object)) { return false; } } return true; }; }