{-# LANGUAGE TemplateHaskell, TypeOperators #-} module T7667 where import Language.Haskell.TH $( return [ TySynD (mkName "+") [PlainTV (mkName "a"), PlainTV (mkName "b")] (AppT (AppT (ConT ''Either) (VarT $ mkName "a")) (VarT $ mkName "b")) ] )