Just curious, this wouldn't work for a circularly linked list in the case where there is only one element, right?
A xor A = 0.
A xor 0 = A.
That should work like a regular circularly linked list or am I missing something?
edit
Doh, now I understand. If this was allowed it wouldn't be possible to have a one-node non-circular list.