runSTE
is the workhorse of the STE monad. Runs an STE computation, and
also does the toplevel handling of the abortive throwSTE operator.
The naive way to handle errors is to simply write handleSTE
id
md
.
runSTE
does not and cannot (by design) handle pure or async exceptions.