This is the part that probably could be optimized using new constructor for CompoundValueNode. What do you think?