This monad underlies our implementation of arrays, mutable and immutable, and our implementation of I/O, including “C calls”.
The ST library, which provides access to the ST monad, is described in Section 4.31 in Haskell Libraries.