How do you make sure the correctness of the implementations? Shouldn't there be tests?
I recommend you comment out all code, write the tests and then un-comment the code line by line.
This not only tests the code, but tests the tests and assures that you are covering the edge cases the code contains already.
Btw, how's that repo going? :)