{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE MagicHash #-}

module T14561 where

import GHC.Types
import Unsafe.Coerce

badId :: forall r (a :: TYPE r). a -> a
badId = unsafeCoerce#
-- Un-saturated application of a representation-polymorphic
-- function that must be eta-expanded

goodId :: forall (a :: Type). a -> a
goodId = unsafeCoerce#
-- But this one is OK
