parseElem :: FromJSON a => [Object] -> Text -> Parser (Maybe a)
parseElem os text = foldr f (return Nothing) os
    where
      f o pm = do
        maybeParsedO <- o .:? text
        case maybeParsedO of
          Nothing -> pm
          _ -> return maybeParsedO
parseElem :: FromJSON a => [Object] -> Text -> Parser (Maybe a)
parseElem os text = foldr f (return Nothing) os
    where
      f o pm = do
        maybeParsedO <- o .:? text
        case maybeParsedO of
          Nothing -> pm
          _ -> return maybeParsedO
parseElem os text = foldr f (return Nothing) os
    where
      f o pm = do
        maybeParsedO <- o .:? text
        case maybeParsedO of
          Nothing -> pm
          _ -> return maybeParsedO