Yes, all F # features are "curry style." When you have a type definition:
let someFunc (a,b) = a + b
You have a function that takes one argument, a tuple that decomposes into a pattern (yes, pattern matching is available in surprisingly sweet places like this). This is equivalent to the following definition, which moves the pattern matching to the function body:
let someFunc t = match t with | a, b -> a + b
Which is also equivalent
let someFunc = function | a, b -> a + b
The first version with matching patterns in the argument itself is clearly preferable in this example to simple noun bindings.
Note that F # methods , however, are a "tuple" (this is one of those places where F # glues with a standard .NET object-oriented function).
source share