The best way to understand a program is to try to change it.