It is expressible, unsoundly, with a plugin: if-instance.
instance Show GADT where show :: GADT -> String show (Data @a x) = ifSat @(Show a) (show a) "UNSHOWABLE"