It's fine. The language isn't that large or huge, if you count out the OO part. It's what Haskell is partially based on, and it's not a bad language. Unlike Haskell, it's not purely functional, so you can have state if you want to. The syntax is a bit weird, but usable/readable. ML is a classic statically typed language with type inferrance, it supports closures, it has pattern matching, and a decent amount of base types on which you can build everything else. You should probably learn it, even if you won't use it much.