We want to ensure that `node` is valid, to the extent that we can.

Additionally, it might be a good place for some business rules, EG if `kind` is HEAD_NODE, `parent` should be NULL, etc. But those are nits, the main thing is checking `node != NULL`