This was done with CLion's automatic rename feature.
This makes the user-facing type only take the node member pointer, and lets the compiler figure out the other needed types from that.