(Ah, no, your example elsewhere in the thread suggests that the referred-to structures get implicitly copied all over the place.)
Optimization specifically for function calls, or... ?
Because if you're doing all this copy-on-write anyway, the indirection seems to be a needless cost in other contexts.