If I understand your question, this is the way binding works in Clojure. For example:
```clojure
(let [x 10
      x (inc x)]
  x)
=> 11
```

`(inc x)` operates on the last binding of `x`, _then_ the new value gets bound over. So `with-timeout` is wrapping `f`, and the `(apply ~f args#)` is applying the unwrapped `f`.

Is that what you were asking? Is this behavior incorrect?