COPY in Rebol2, R3-Alpha and Red refuse to copy things like integers:
rebol2>> copy 1
** Script Error: copy expected value argument of type: series port bitset
r3-alpha>> copy 1
** Script error: copy does not allow integer! for its value argument
red>> copy 1
*** Script Error: copy does not allow integer! for its value argument
As Rebol2 says, it only copies [series! port! bitset!]
Red does [series! any-object! bitset! map!]
R3-Alpha does [series! port! map! object! bitset! any-function!], which made me curious as to what exactly copying a function would even be for. Looking at the R3-Alpha sources, it's just some nonsense that would be applicable only if you were planning to do self-modifying code and mutate the body of a function.
(Ren-C once had a mechanic for if you passed a function directly to COPY to create a separate non-hijackable identity. But see my notes on why that's not done anymore.)
So You Can't Copy Integers... Unless They're In a Block 
You don't get an error copying integers deeply:
>> copy:deep [[1] 2 [3 [4] 5]]
== [[1] 2 [3 [4] 5]]
Here we are seeing the block being copied deeply... and the integers seem to be "copied".
So you can copy an integer if it's inside a block, but not directly if it's outside a block?