{-# LANGUAGE ScopedTypeVariables #-} module T8450 where runEffect :: Either Bool r -> r runEffect = undefined run :: forall a. a run = runEffect $ (undefined :: Either a ()) {- Either a () ~ Either Bool alpha a ~ alpha -}