See the first two lines:
Intuitively I would have expected it to return 1001:1010 for the plus and 1000:1000:10000 for the multiplication, that is with the range collected before the operation and eventually reimplemented as range…
I am sure this is documented somewhere, just find it pretty odd…