Left err    -> return $ Left $ "failed to load from file: " ++ show err
        Right x     -> return $ parseMsgErrorToString x

runDelayedYamlLoader :: (MonadIO m) =>
    FilePath    -- ^ 消息文件存放目录
    -> DelayedYamlLoader a
    -> m (Eithe
runDelayedYamlLoaderL_IOE :: (MonadIO m) =>
    NonEmpty FilePath    -- ^ 消息文件存放目录
    -> DelayedYamlLoader a
    -> m (Either YamlFileParseException a)
runDelayedYamlLoaderL_IOE base_dirs f = liftIO $ runReaderT f base_dirs
runDelayedYamlLoaderL_IOE base_dirs f = liftIO $ runReaderT f base_dirs