Erlang VM reimplementation in Haskell