public Object visit(NotExpression node) {
            Expression expr = node.getExpression();
            check(expr);

            Type type = expr.getType();
            if (type == null) {
                node.setType(Type.BOOLEAN_TYPE);
            }
            else {
                expr.convertTo(type);
                node.setType(type);
            }

            return null;
        }