pub fn check_union_collisions(unions: &[UnionDef]) -> Result<(), String>
Check for union name collisions across all definitions
Returns an error with helpful message if any union is defined multiple times.