The question of converting parts of Node to a value type is a no answer answer.
What I wanted you to think about is what makes the Node type unique.
What I think makes Node unique is that it is a data structure used to create
a hierarchy of objects. Thus whenever you create hiearchies that can be altered, and
recursive value types cannot be used under any circumstance.
Thus a general rule is that you will define reference types more often than you will
define value types.