Combined future and IO monad, they have almost identical functionality