how can i do multiple calls to SDL.pollEvent :: IO Event until the output is SDL.NoEvent and collect all the results into a list?
in imperative terms something like this:
events = []
event = SDL.pollEvent;
while( event != SDL.NoEvent )
events.add( event )
event = SDL.pollEvent