再帰

再帰的な呼び出しで何が起こるか詳細に考えるのはやめましょう。そうではなく、この場合はうまくいくことを思い出すのです。・・・
 私たちは、再帰を確実に説明する方法を知りません。今までの経験では、たいていの初心者は、再帰を動作を理解できず、再帰的なプログラムをただ見ているだけになります。それから、突然ある日、理解できてしまうのです。・・・再帰を理解する鍵は、ただ再帰を理解するところにあります

極論だけど、好き。