public function takeWhile(callable $predicate) { return $this->lift(function () use($predicate) { return new TakeWhileOperator($predicate); }); }