+ cm = cm, sml = sml,
+ beforeT = beforeT, afterT = afterT, exnT = exnT}
+ | ["before", beforeT] => read {inPath = inPath, outPath = expandPath outPath, pubPath = pubPath,
+ lib = lib, compiler = compiler, printFn = printFn,
+ cm = cm, sml = sml,
+ beforeT = SOME beforeT, afterT = afterT, exnT = exnT}
+ | ["after", afterT] => read {inPath = inPath, outPath = outPath, pubPath = expandPath pubPath,
+ lib = lib, compiler = compiler, printFn = printFn,
+ cm = cm, sml = sml,
+ beforeT = beforeT, afterT = SOME afterT, exnT = exnT}
+ | ["exn", exnT] => read {inPath = inPath, outPath = outPath, pubPath = pubPath,
+ lib = lib, compiler = compiler, printFn = printFn,
+ cm = cm, sml = sml,
+ beforeT = beforeT, afterT = afterT, exnT = SOME exnT}