Przetwarzaj JSON za pomocą nazw pól zawierających zastrzeżone słowa kluczowe

Próbuję przeanalizować następujący JSON za pomocą aeson.

{
    "data": [
        {
            "id": "34",
            "type": "link",
            "story": "foo"
        },
        {
            "id": "35",
            "type": "link",
            "story": "bar"
        }
    ]
}

Wydaje się, że ponieważ jest wiele dziedzin, które chciałbym zignorowaćPowinienem używać generyków GHC. Ale jak napisać definicję typu danych, która używa słów kluczowych Haskelldata itype? Następujące oczywiście daje:parse error on input `data'

data Feed = Feed {data :: [Post]}
    deriving (Show, Generic)

data Post = Post {
        id :: String,
        type :: String,
        story :: String
    }
    deriving (Show, Generic)

questionAnswers(1)

yourAnswerToTheQuestion