@tombentley the thing is, I’m fairly certain that the current behavior of “return the last parameter if the index is too big” is used for mapping, say, the third argument of `foo(a, b, c)` to the first parameter of `foo(Anything+ things)`, so I don’t think I can figure this case out through any of the existing functions. I suppose I could add a new `invocation.hasParameters()`… or keep the `try {} catch`. What do you think?