Take this example for instance:
fn doMath(x: anytype) @TypeOf(x) {
// …
}
There is no way to know what that function requires as input.
Of course you can't know. That function has no requirements. As such there's only one thing it can do.... return x
. Anything else is making an assumption about the parameter being passed.
It was fine when rendering (esp. text) was server side and not client side like it is now. At least LAN (10MB ethernet) was basically transparent. Internet was shit mainly because everyone was on 56k modems.
GTK and Qt do all their rendering client side and transfer bitmaps to the server requiring much more bandwidth.