Dear all, why is this allowed (GHCi, version 7.4.1): main :: IO () main = do let a, a :: Int a = 5 print a but this not: main :: IO () main = do let a :: Int a :: Int a = 5 print a Is there a deeper sens or is it just a little bit inconsistent? Heinrich