> string|String.Buffer is a union type, so using it in conjunction > with an `= lfun should result in an error reported to the > programmer.
That is not possible to know at compile time, however. And we _never_ pass by value in pike, so it would be totally unexpected to any pike developer.