borrow logic from plt.wescheme.makeDynamicModuleLoader() to corretly load user-defined modules