i suspect its because of this

    public function walkWhereAnd(WhereAnd $whereAnd)
    {
        if (!$this->constraint) {
            return $this->walkWhere($whereAnd);
        }

so, some recursion that is biting us.