downloadSetIfMissing :: (MonadConfig m, MonadIO m) => m ()
downloadSetIfMissing = do
    tcfg <- ask
    let atomcfg = liftIO . atomically . readTVar $ tcfg
    folder <- dataFol <$> atomcfg
    exist <- liftIO . doesFileExist $ folder ++ "cards.json"
    unless exist downloadSet
downloadSetIfMissing :: (MonadConfig m, MonadIO m) => m ()
downloadSetIfMissing = do
    tcfg <- ask
    let atomcfg = liftIO . atomically . readTVar $ tcfg
    folder <- dataFol <$> atomcfg
    exist <- liftIO . doesFileExist $ folder ++ "cards.json"
    unless exist downloadSet
downloadSetIfMissing = do
    tcfg <- ask
    let atomcfg = liftIO . atomically . readTVar $ tcfg
    folder <- dataFol <$> atomcfg
    exist <- liftIO . doesFileExist $ folder ++ "cards.json"
    unless exist downloadSet