explicitParseField :: (Value -> Parser a) -> Object -> Key -> Parser a
explicitParseField p o key = case KeyMap.lookup key o of
  Nothing -> fail $ "key " ++ show key ++ " not present"
  Just v  -> p v <?> Aeson.Key key
explicitParseField :: (Value -> Parser a) -> Object -> Key -> Parser a
explicitParseField p o key = case KeyMap.lookup key o of
  Nothing -> fail $ "key " ++ show key ++ " not present"
  Just v  -> p v <?> Aeson.Key key
explicitParseField p o key = case KeyMap.lookup key o of
  Nothing -> fail $ "key " ++ show key ++ " not present"
  Just v  -> p v <?> Aeson.Key key