Yeah but it's a little pun
def foo(x: Int, y: Double):Int = 3 def bar = foo(_, _)
In this case, bar is not a method that accepts int and double. Instead, the method takes no arguments, returning the function that takes, and int a double. From the perspective of the caller, they can be used interchangeably.
bar(3, 5.9) // expands to bar apply(3, 5.9), which calls foo
source share