When decoding a large object graph, I'm getting "Maximum call stack size exceeded" error, as the algorithm works depth first.