yeah, and there are other approaches to doing things like "state" in purely functional languages. but admittedly they aren't as main-stream as haskell. which is a funny thing to say, if you think about it...