{-# LANGUAGE UnboxedSums #-} foo :: (# Int|Bool #) foo = (# 1 | #) bar :: (#Int|Int|Int|Int #) bar = (# | |2| #) baz :: (# Int | Int | Int | Int | Int | Int | Int | Int | Int #) baz = (# | | | 10 | | | | | #)