In order to avoid stack overflows for deep value trees, internal recursive calls have been replaced with loops, including for the destructor on Hjson::Value. As a side effect the Hjson::Value desctructor will now allocate memory on the heap if the Hjson::Value is a tree with a depth greater than two levels.