public static boolean checkAssign(Type p1, Type p2) {
        if (p1 == null || p2 == null) {
            return false;
        }
        return (p1 == Type.Fixed && p2 == Type.Integer || p1 == p2 || p1 == Type.String && p2.group == CUSTOM || p2 == Type.String && p1.group == CUSTOM);
    }