Point being, these two things aren't different (variable assignment and function calls); IIUC they go through the same analysis pathway, result location semantics.
https://ziglang.org/documentation/master/#Result-Location-Se...
It's a little bit weird, since the types flow in the reverse direction than you would expect.