this one had me in the first half, ngl.
apparently, R discards empty *formal* arguments.
inspection via `browser()` shows that the call is f(a = 3, b = 2), meaning that after discarding of `a = ` & `b = `, 3 and 2 ended up being matched by position.
haven't found any official docs on this though.