[PATCH] get compatible_assignment_types() deal with all cases