Say I have an data type with a lot of constructors.
data ManyValues
= Value0
| Value1
| Value2
...
| Value255
| Value256
deriving (Show,Eq)
What's the memory footprint of any one value of this data type? My original understanding was that each constructor is a 8-bit word in memory, but what if there are more constructors in the data type than there are possible values in 8 bits. Does the constructor get bumped up to 16 bits and so on until it can address the full range of constructors present in the data type? Or do I have this all mixed up?