O resultado de n << n

O problema é o seguinte:
n = [1, 2] a = n << n p a => [1, 2, [...]] a[2] => [1, 2, [...]]
ou seja, aé um Array recursivo infinito.

Minha explicação é:
Quando o direito nadiciona ( <<) o esquerdo n, o esquerdo nmuda para [1, 2, [1, 2]]. Mas, neste momento, o direito n, que é o mesmo com o outro (eles têm o mesmo object_id), tornou-se ‘[1, 2, [1, 2]]’, também.
……
E repita o processo,a = [1, 2, [...]]