public Object visit(AndExpression node) {
            Expression left = node.getLeftExpression();
            Expression right = node.getRightExpression();

            check(left);
            check(right);

            // NOTE: no need to check left and right types as the Truthful
            // detector in the generator will ensure they match
            node.setType(Type.BOOLEAN_TYPE);

            return null;
        }