Tried this:
:put=range(1,10)
and it worked as expected, appending the numbers 1..10 to my file.
Same with:
:put=map(range(1,10), 'v:val')
which worked as expected. However using a no-op lambda function:
:put=map(range(1,10), {v -> v})
somehow gets the numbers 0..9 in the file instead of 1..10