foo :: IO (Either a b) bar :: IO (a, b) baz :: Maybe (Either a b) qux :: Maybe (a, b) doo :: (a, a) dee :: Either a a