It seems that F# type inference works from left-to-right. I appreciate that type inference is more ambiguous in an object-oriented language for precisely the reason you laid out, that classes and records are namespaces so properties and methods don't uniquely identify types. But the big mistake of F# is, when you're dealing in combinators like map and filter and exists, the type inference works if you put the collection first (since it's unambiguously typed in almost all cases). So why did they put the functional argument first?
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
I think this is a—not exactly a bug, but an inadequacy of the type inference system. Other things that would fix your problem are,
It seems that F# type inference works from left-to-right. I appreciate that type inference is more ambiguous in an object-oriented language for precisely the reason you laid out, that classes and records are namespaces so properties and methods don't uniquely identify types. But the big mistake of F# is, when you're dealing in combinators like map and filter and exists, the type inference works if you put the collection first (since it's unambiguously typed in almost all cases). So why did they put the functional argument first?