ST-based interface to the Haskell LLVM bindings