Could you add polymorphism / data types / pattern matching / garbage collection / modules / etc.?
I’d love to, but there is a tradeoff between simplicity and functionality (even in ML). Adding those features would have made the compiler too complex for the original audience—that is, undergraduate students. On the other hand, it would be nice projects for more advanced audience (such as graduate students). If you are interested in a compiler with more functionality and complexity than MinCaml (but less than OCaml), take a look at Caml Light and its variants.