createWindow is:exact

Creates a window with a default extended window style. If you create many windows over the life of your program, WindowClosure may leak memory. Be sure to delegate to defWindowProc for wM_NCDESTROY and see defWindowProc and setWindowClosure for details.
Create a top-level window. The given name will be provided to the window system as the window's name. The intent is that the window system will label the window with the name.Implicitly, the current window is set to the newly created window. X Implementation Notes: The proper X Inter-Client Communication Conventions Manual (ICCCM) top-level properties are established. The WM_COMMAND property that lists the command line used to invoke the GLUT program is only established for the first window created.
Create a window with the given title and configuration. Throws SDLException on failure.
Creates a new window. Note: If running in GHCI don't forget to :set -fno-ghci-sandbox or you may run into an assertion failure, segfault or other nasty crash. See glfwCreateWindow
interface to the X11 library function XCreateWindow().