parse x: copy/deep [(-hi-there- 1 2 3 (hello 2 3 4))] function-rule
function-rule: [ into [ set code word! (probe code) any [integer! | function-rule] ] ]
function-rule: [ into [ set code word! any [integer! | function-rule] (probe code) ] ]
The idea is to have code be like it is in the first rule definition. It makes sense as to why this is happening because code is being overshadowed by the inner definition of code so that the probe call is calling the same word twice. Is there a way to set up context-sensitive words that look the same yet print out different results, I know there is in other cases but what about this case?