genConstructor (CStruct name  sums) = concat $ zipWith (\ix ft -> genConstructorUnion' ix name ft) [1..] sums
genConstructor (CStruct name  sums) = concat $ zipWith (\ix ft -> genConstructorUnion' ix name ft) [1..] sums
genConstructor (CStruct name  sums) = concat $ zipWith (\ix ft -> genConstructorUnion' ix name ft) [1..] sums