At the moment of assignment, the data contained by position and size properties are partially (de)referenced. I was wondering whether dereferencing fully would have unwrapped that data wrapper. Either by coercing:
...position as {list, point, vector, anything}
or getting:
set windowPosition to get the position
or explicit dereferencing:
set windowPosition to the position's contents
or by adding a final line that evaluates the variable windowPosition:
windowPosition
or by enumerating the items through assignment:
set {windowLeft, windowTop} to the position
usw., usw., ….
Although you probably cannot test that now since the release of the update.