The most minor of points: isn't it MLton instead of mlton? (The program executable is mlton, but the name of the thing is MLton.)