An EDSL to use JavaScript like OOP in Haskell