Reading someone else's un-annotated code and trying to work out not only what is going on but why they did what they did is fun and exhausting, especially when you start from a point of almost no understanding.