The two signatures are equivalent. So, both are correct. With the intermediate expression and binding, type checking just runs a little different and thus finds a function with one parameter, returning a function, while in the first case it finds a partial function.
Contentwise, of course, the second version does not delay the function.