Incorporating imperative features into a purely functional language has become an active area of research within the functional programming community One of the techniques gaining widespread acceptance as a model for imperative functional programming is m