GHC should not allow lazy field syntax for unlifted fields.
See this example:
{-# LANGUAGE UnliftedDatatypes #-}
{-# LANGUAGE StrictData #-}
module Wibble where
import Data.Kind
import GHC.Exts
type U :: UnliftedType
data U = MkU Int
data T = T ~U
~U
makes no sense. What would it even mean to allow a unlifted field to be lazy?