initGLFW :: String -> IO (Maybe Window)
initGLFW s = do
    putStrLn "Initializing the OpenGL window and context."
    True <- Graphics.UI.GLFW.init
    -- Set our window hints.
    setWindowHints
    -- Get the prime monitor.
    --mMon  <- getPrimaryMonitor
    -- Create our window.
    mWin <- createWindow 800 600 s Nothing Nothing
    when (isJust mWin) $
        do let Just w = mWin
           -- Window will show at upper left corner.
           setWindowPos w 0 0

    return mWin
initGLFW :: String -> IO (Maybe Window)
initGLFW s = do
    putStrLn "Initializing the OpenGL window and context."
    True <- Graphics.UI.GLFW.init
    -- Set our window hints.
    setWindowHints
    -- Get the prime monitor.
    --mMon  <- getPrimaryMonitor
    -- Create our window.
    mWin <- createWindow 800 600 s Nothing Nothing
    when (isJust mWin) $
        do let Just w = mWin
           -- Window will show at upper left corner.
           setWindowPos w 0 0

    return mWin
initGLFW s = do
    putStrLn "Initializing the OpenGL window and context."
    True <- Graphics.UI.GLFW.init
    -- Set our window hints.
    setWindowHints
    -- Get the prime monitor.
    --mMon  <- getPrimaryMonitor
    -- Create our window.
    mWin <- createWindow 800 600 s Nothing Nothing
    when (isJust mWin) $
        do let Just w = mWin
           -- Window will show at upper left corner.
           setWindowPos w 0 0

    return mWin