An API monad to make it easy to interact with JSON APIs