I haven't used F# much but my impression is that it came from an OCaml background and thus perhaps sits halfway between C# and OCaml. Many of the useful type system features of Haskell are missing, but the module system of OCaml has been developed to be closer to the object system of C#.