"Yes, you are missing something, hopefully it's something contained in the section``Implementation ,""though - Levy #is a declarative interface to an imperative interpreter."
Interpeter.ml is assigning to ref cells all over the place (the particular revision of code I linked to has a bug, but suffices to show the point).