Demystifying the IO Monad for Rubyists