The TreeNode type and domain concept are really separated