The docs define . placeholders as follows:
if you use . within a function call, that call gets wrapped in a one-argument function and . gets replaced by that argument
It looks like what actually happens is that . lifts outside the entire CallExpression, no matter how long it is. For example:
Input
Current Output
Expected Output
I think. The idea is that this expression should be treated as a tree of applications, and this is what you get if you lift the . just above its own application.
#837 (comment) gives a real-world example.