Hi, there is a bug in the _ast.cpp:796_ file. Conditional block has logical _and_ operator with same operands. ``` c++ if (lhs_tail->head() && !rhs_tail->head()) return false; if (!lhs_tail->head() && rhs_tail->head()) return false; if (lhs_tail->head() && lhs_tail->head()) { // <--- here: lhs_tail->head() if (!lhs_tail->head()->is_superselector_of(rhs_tail->head())) return false; } ``` I suppose, that correct code should look like this: ``` c++ if (lhs_tail->head() && !rhs_tail->head()) return false; if (!lhs_tail->head() && rhs_tail->head()) return false; if (lhs_tail->head() && rhs_tail->head()) { if (!lhs_tail->head()->is_superselector_of(rhs_tail->head())) return false; } ```