See example here:
https://typescripttolua.github.io/play#code/FAiWDsBcFMCcDMCGBjaACAYgey2g3sGkWgEaKwD8AFAJQBcaAblqACbAC+IyW4AzpDTwcaALxECxUuVqSpxAA6wIkKpAAWoPjULEuXYMKwA6MrFqGcp8gEJaaAPQO0GrWjfhQAGzQB3ddDg7oJ86lgArl6saOBYgiTQQA
The same issue may be true with other "outer expressions", such as parenthesis. However, we have to be careful with casts, as they may change the type of the function being called (e.g. from a non-function type).
Current workaround:
foo.bar!.call(foo)