Hi Jason,

On Tue, Nov 15, 2011 at 12:08 PM, Jason Dusek <jason.dusek@gmail.com> wrote:
Should I be annotating my functions with strictness, for the
vector reference, for example? Should I be using STUArrays,
instead?

From http://www.haskell.org/ghc/docs/latest/html/libraries/base-4.4.1.0/Control-Monad-ST-Safe.html

    "The >>= and >> operations are strict in the state (though not in values stored in the state)."

which implies that

     modifySTRef counter (+1)

is too lazy.

-- Johan