I haven't needed to set a root, so I adapt the constructor to accept `new CompoundValue()`, without arguments. What do you think?