runST is:exact

Return the value computed by a state thread. The forall ensures that the internal state used by the ST computation is inaccessible to the rest of the program.
Return the value computed by an ST computation. The forall ensures that the internal state used by the ST computation is inaccessible to the rest of the program.
run an arrow with augmented state in the context of a simple state arrow. An initial value for the new state component is needed. This is useful, when running an arrow with an extra environment component, e.g. for namespace handling in XML.
Deprecated: Use runSTT instead
Return the value computed by a state transformer computation. The forall ensures that the internal state used by the ST computation is inaccessible to the rest of the program.