F# doesn't have many of OCaml's more advanced features. In particular, no functors and no polymorphic variants. Also the OO system is basically .NET, which isn't that surprising (but means that you don't get the neat row typing with inference that OCaml does).
OTOH some of the choices it makes are a bit more pragmatic - e.g. arithmetic is overloaded for ints and floats, locals can be marked as mutable similar to record fields, and fields are scoped to record types (so different types can use the same field name).
OTOH some of the choices it makes are a bit more pragmatic - e.g. arithmetic is overloaded for ints and floats, locals can be marked as mutable similar to record fields, and fields are scoped to record types (so different types can use the same field name).