Непрозрачный тип, вероятно, является лучшим маршрутом, если вы хотите включить функцию, но я бы скептически отнесся к функции, которая может использоваться только с небезопасным приведением к типу другой библиотеки (что было бы действительно возможно, да, но полагаться на внутреннее представление связывания libxml Node
, чтобы не измениться - рискованно).
Я бы предложил просто не добавлять функцию; если кто-то захочет использовать его, он может легко импортировать его самостоятельно, и если ваша привязка является подходящей прямой, им, вероятно, будет легко использовать ее с типами вашей привязки. Конечно, если он, вероятно, будет широко использоваться, вы можете легко объединить его в пакет, хотя я очень сомневаюсь, что пакет, который был последний раз обновлен в 2008 году и даже не основывается на GHC 6.12 и выше, получит много пользы.
Итак, я бы просто исключил функцию из вашей привязки или использовал непрозрачный тип, если вы действительно хотите включить его.