https://hackage.haskell.org/package/template-haskell-2.18.0.0/docs/src/Language.Haskell.TH.Syntax.html#PromotedConsT
I don't think it should be (':). In my code, only '(:) seems to work.
(':)
'(:)