The problem is in your phrase:

the node that is being inserted doesn't know
It doesn't have to.

The recursive call knows what it's parent is. The node doesn't need to know.

That's the point of the ** as I mention above.