Analizar JSON con nombres de campo que contienen palabras clave reservadas

Estoy tratando de analizar el siguiente JSON con aeson.

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

Como hay muchos campos que me gustaría ignorar, pareceDebería usar los genéricos de GHC. Pero, ¿cómo escribir una definición de tipo de datos que use palabras clave de Haskell como?data ytype? Lo siguiente, por supuesto, da: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)

Respuestas a la pregunta(1)

Su respuesta a la pregunta