withSDL :: IO () -> IO ()
withSDL op = do
    initializeSDL [SDL.SDL_INIT_VIDEO] >>= either throwSDLError return
    op
    SDL.quit
withSDL :: IO () -> IO ()
withSDL op = do
    initializeSDL [SDL.SDL_INIT_VIDEO] >>= either throwSDLError return
    op
    SDL.quit
withSDL op = do
    initializeSDL [SDL.SDL_INIT_VIDEO] >>= either throwSDLError return
    op
    SDL.quit