Fix build and implement MarquiseMonad for IO