Ok, I'll go a different direction with this.
The problem here, and I have asked for this before, is we need a REFENCE option for the return, which C++ has
For larger than items that can't fit in registers, the compiler generates a reference to it. with the reference you have a direct route to the return item so you can directly interact on it.
For example.
operator := (A:Byte) Var :TStream;
Begin
Result.xxxxx;// now is guaranteed to work.
End;
Something to think about if you want to get ahead of the other guys!