Я использую пакет aeson
. У меня есть тип данных, который использует Data.Tree
в своем объявлении. Как и ниже, только сложнее:
data Foo = Foo {
bat :: Text
, xux :: Maybe Text
, tri :: Tree Text
}
Я хочу использовать Data.Aeson.TH
для создания экземпляра FromJSON
для этого типа.
$(deriveJSON defaultOptions ''Foo)
Но Data.Tree
не имеет стандартного экземпляра для FromJSON
, что означает, что мне нужно будет объявить сиротский instace.
Есть ли способ избежать создания этого сиротского экземпляра, хотя он все еще может использовать deriveJSON
?