anchor.diff:  		(finish-output)
   		(init-controllers)
   
  -		(sdl2:with-window (win :w width :h height ;;; :title title
  +		(sdl2:with-window (win :w width :h height :title title
   				       :flags `(:shown :opengl :resizable
   						       ,@(remove nil `(:shown :opengl
   									      ,(when fullscreen :fullscreen-desktop)
  
positive.code: 	   t)))
  
  
  (defun init (&optional
  	       (asynchronous t) 
  	       (width 800)
  	       (height 600)
  
negative.code:  Use ! (wait and return a value from main thread) or 
   Use !! (return immediately with a nil."
    (if asynchronous 
        (bordeaux-threads:make-thread
         (lambda ()
  	 (_init :asynchronous asynchronous
  		:width width 
  		:height height 
  		:title title 
  		:fullscreen fullscreen
  		:no-frame no-frame
  		:alpha-size alpha-size
  		:depth-size depth-size 
  		:stencil-size stencil-size 
  		:red-size red-size 
  		:green-size green-size 
  		:blue-size blue-size 
  		:buffer-size buffer-size
  		:double-buffer double-buffer
  		:hidden hidden 
  		:resizable resizable))
         :name "Main Clank Thread"
         :initial-bindings
         (cons (cons '*standard-output* *standard-output* )
  	     (cons (cons '*standard-input* *standard-input*)
  		   bordeaux-threads:*default-special-bindings*)))
        (_init :asynchronous asynchronous
  	     :width width 
  	     :height height 
  	     :title title 
  	     :fullscreen fullscreen
  	     :no-frame no-frame
  	     :alpha-size alpha-size
  	     :depth-size depth-size 
  	     :stencil-size stencil-size 
  	     :red-size red-size 
  	     :green-size green-size 
  	     :blue-size blue-size 
  	     :buffer-size buffer-size
  	     :double-buffer double-buffer
  	     :hidden hidden 
  	     :resizable resizable)))
  
  (defun _init (&key
  		(asynchronous t) 
  		(width 800)
  		(height 600)
  