getWithOpts :: (FromJSON a) => String -> [(String, String)] -> IO (Either LolError a)
getWithOpts url opts = do
    resp <- sendAPIRequest url opts
    return $ join $ mapR (liftError . eitherDecode) resp
getWithOpts :: (FromJSON a) => String -> [(String, String)] -> IO (Either LolError a)
getWithOpts url opts = do
    resp <- sendAPIRequest url opts
    return $ join $ mapR (liftError . eitherDecode) resp
getWithOpts url opts = do
    resp <- sendAPIRequest url opts
    return $ join $ mapR (liftError . eitherDecode) resp