Nevermind, I just found something that gives me a concrete answer.
And this is his comment about the code
5 is an integer, so the value of b is converted to an Integer before being added to 5, and so a becomes 6.0 instead of 6.4 as it ought to be.
So it appears that it does not convert them to the actual "LValues" type, but instead converts to the type of the left-most parameter of the right hand value.
Program Var a, b : Real Begin b = 1.4 a = 5 + b MessageBox(a) End
And this is his comment about the code
5 is an integer, so the value of b is converted to an Integer before being added to 5, and so a becomes 6.0 instead of 6.4 as it ought to be.
So it appears that it does not convert them to the actual "LValues" type, but instead converts to the type of the left-most parameter of the right hand value.