| 
					
				 | 
			
			
				@@ -10,6 +10,7 @@ from core.variables import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ArrayNumberVariable, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ArrayObjectSegment, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ArrayObjectVariable, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ArraySegment, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ArrayStringSegment, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ArrayStringVariable, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     FileSegment, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -79,7 +80,7 @@ def build_segment(value: Any, /) -> Segment: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if isinstance(value, list): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         items = [build_segment(item) for item in value] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         types = {item.value_type for item in items} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if len(types) != 1: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if len(types) != 1 or all(isinstance(item, ArraySegment) for item in items): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return ArrayAnySegment(value=value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         match types.pop(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case SegmentType.STRING: 
			 |