OCaml has several unusual design features that I've come to appreciate. (1) Separating integer and float addition is really clear. (2) No subtyping (everything is 'a or concrete) simplifies lots too.