{-# WArNING test, foo ["These are bad functions", "Really bad!"] #-} test :: IO () test = pure () instance {-# WARNING "Don't use" #-} Show G1 where show = "G1" deriving instance {-# WARNING "to be removed" #-} Eq G2