Does one field name for one datatype always refer to a field with the same type? Or is there some wacky extension that would allow things like

data Foo
  = Bar { zoom :: Int }
  | Baz { zoom :: Char }

I'm hoping I don't have to worry about the latter possibility....