A faster and more accessible diff implementation
At the very core of anything in bcore stands a simple, highly abstracted diff algorithm. The current implementation is recursive, which is straightforward to implement, but costly and sometimes impractical.
The reason for it being costly is the considerable amount of stack work being done. It's impractical because some delegates have to actively maintain their own stack-like information to do their work.
To my mind it would be better to have a second implementation, which operates non-recursively and which provides its manually maintained stacks to the delegate. That way, the delegate may essentially remain similar in implementation, but use the manual stack for its own purposes.
As a final goal, the new algorithm implementation should replace the current one, which should be beneficial for the overall performance of the kvstore, and thus bcore applications in general.