Экземпляр Haskell Data для непрозрачного типа данных

Я пишу патч с открытым исходным кодом, чтобы использовать библиотеку шрифтов, а точнее привязки haskell к библиотеке шрифтов в C (FTGL). Я указываю на тип шрифта в одной из структур данных, который определяется следующим образом:

type Font = Ptr Font_Opaque
data Font_Opaque

К сожалению, чтобы вписаться в структуру данных библиотеки, которую я исправляю, этот тип должен быть экземпляром Data. Ptr уже есть, но Font_Opaque явно нет, поэтому компилятор жалуется.

Как это непрозрачный тип, я не уверен, как продолжить... как реализовать Data Font_Opaque более или менее разумным способом? Есть ли разумный способ?

Ответ 1

Как комментирует András Kovács, используя расширение StandaloneDeriving

{-# LANGUAGE StandaloneDeriving -#}

а затем:

deriving instance Data Font_Opaque

сделал трюк, по крайней мере, где компилятор. Я отчитаю, если это повлияет на программу в любом случае. Спасибо!