display :: Size -> Image -> DisplayCallback
display size pixelData = do
  clear [ColorBuffer]
  -- resolve overloading, not needed in "real" programs
  let rasterPos2i = rasterPos :: Vertex2 GLint -> IO ()
  rasterPos2i (Vertex2 0 0)
  drawPixels size pixelData
  flush
display :: Size -> Image -> DisplayCallback
display size pixelData = do
  clear [ColorBuffer]
  -- resolve overloading, not needed in "real" programs
  let rasterPos2i = rasterPos :: Vertex2 GLint -> IO ()
  rasterPos2i (Vertex2 0 0)
  drawPixels size pixelData
  flush
display size pixelData = do
  clear [ColorBuffer]
  -- resolve overloading, not needed in "real" programs
  let rasterPos2i = rasterPos :: Vertex2 GLint -> IO ()
  rasterPos2i (Vertex2 0 0)
  drawPixels size pixelData
  flush