public function withCallable(callable $filter)
    {
        if ($this->value->isNull()) {
            return null;
        }

        return $this->applyFilter(new filter\WrapCallableFilter($filter));
    }