Análise JSON tolerante a falhas

Eu estou usando Data.Aeson para analisar alguns JSON em um tipo de registro. De tempos em tempos, os dados são adicionados ao JSON e isso quebra meu código, já que o Aeson reclama algo com o efeito de:

Objeto esperado com 21 pares de nome / valor, mas tem 23 nome / valor

Eu realmente prefiro analisar o JSON de uma maneira tolerante a falhas - eu não me importo se mais campos forem adicionados ao JSON em uma data posterior, apenas analise o que você puder! Existe uma maneira de alcançar essa tolerância a falhas? Aqui está meu código:

myRecordFromJSONString :: BS.ByteString -> Maybe MyRecord
myRecordFromJSONString s = case Data.Attoparsec.parse json s of
  Done _rest res -> Data.Aeson.Types.parseMaybe parseJSON res
  _              -> Nothing

Devo acrescentar que estou usando deriveJSON de Data.Aeson.TH para gerar o código de análise. Se eu escrever o código FromJSON manualmente, ele é tolerante a falhas, mas eu gostaria de não ter que fazer isso ...

questionAnswers(1)

yourAnswerToTheQuestion