use Haskell VM