verboseParser :: (FromJSON a) => Value -> Parser (Either String a)
verboseParser v = do
  let parsed = parseEither parseJSON v
  case parsed of
    Left err -> return . Left $ err ++ " -- Invalid object is: " ++ show v
    Right p -> return $ Right p
verboseParser :: (FromJSON a) => Value -> Parser (Either String a)
verboseParser v = do
  let parsed = parseEither parseJSON v
  case parsed of
    Left err -> return . Left $ err ++ " -- Invalid object is: " ++ show v
    Right p -> return $ Right p
verboseParser v = do
  let parsed = parseEither parseJSON v
  case parsed of
    Left err -> return . Left $ err ++ " -- Invalid object is: " ++ show v
    Right p -> return $ Right p