One day, a disciple of another sect came to Xavier Leroy and said mockingly:
"The OCaml compiler seems very limited: why do you have to indicate when a function is recursive, cannot the compiler infer it?"
Xavier paused for a second, and replied patiently with the following story: