I used OCaml before switching to Scala professionally, and I must say I prefer Scala's type system. It makes almost no space for errors/mistakes when you do things conventionally, like putting types on public members.
The idea of cleaning up the syntax a bit (XML, procedure, etc..) is great, but I'm not sure to understand what's "A better treatment of effects" (slide 44)? What's intended?