While fixing one bug you discover that another problem is also present, and when you dig into it you begin wonder how the whole program have been able to work? perhaps fixing the bug will break your program? Anyway it wasn't that severe but it got my attention. Even though it was hard to track, I added only 2 assertions to a testcase which exercises that cloning my iterator primitive works. However fixing that package, broke my regexp package. Programmers are like detectives, good at identifying what caused an action (the opposite of cause and effect). Hypotesis; programmers are better than detectives at solving puzzles?