I've been playing around with Scala code and have come up against a compiler error which I don't understand. The code generates a vector of pairs of Ints and then tries to filter it.

```
val L = for (x <- (1 to 5)) yield (x, x * x) 
val f = (x: Int, y: Int) => x > 3
println(L.filter(f))

```

The compiler complains about trying to use `f` as an argument for the `filter` method with the compiler error message being:

```
error: type mismatch;
found   : (Int, Int) => Boolean
required: ((Int, Int)) => Boolean

```

How do I define the function `f` correctly to satisfy the required function type? I tried to add extra parentheses around `(x: Int, y: Int)` but this gave:

```
error: not a legal formal parameter
   val f = ((x: Int, y: Int)) => x > 3
            ^

```