std::ios::sync_with_stdio(false);
Int
x :: Type x = _
x = Int
x = 5
x :: Type x = x
forever :: Applicative f => f a -> f Type forever x = x *> forever x
echo :: IO () echo = do x <- getLine putStrLn x
main = forever echo
main :: IO Type
absurd :: forall a. Type -> a absurd = \case
• Illegal visible, dependent quantification in the type of a term: forall b. forall k -> forall (a :: k). k -> b (GHC does not yet support this)