Congrats to your "1dan";-)! Very silent work:-)...
My solution - if a primitive value found in chain - replace it with object/array
This comment is hidden because it contains spoiler information about the solution
May be it's too late, but correct answer for draw should be 'undefined' as primitive value, not as string. Otherwise one candidate could take his own name as "undefined" and win in this case :)