anchor.diff:         (with-accessors ,(mapcar (lambda (x) (list (car x) (car x)))
   				(window-parameter-bindings nil)) instance
   	 (with-slots ,(mapcar #'car (custom-slots bindings)) instance
  -	   ,@body)))
  -
  -     (defmethod initialize-instance :before ((instance ,sketch-name) &key &allow-other-keys)
  -       (initialize-sketch))))
  +	   ,@body)))))
  
positive.code: 
  (defmacro defsketch (sketch-name bindings &body body)
    `(progn
       ,@(remove-if-not #'identity (make-channel-observers sketch-name bindings))
  
       (defclass ,sketch-name (sketch)
         ,(sketch-bindings-to-slots `,sketch-name bindings))
  
       (defmethod prepare progn ((instance ,sketch-name) &rest initargs &key &allow-other-keys)
         (let* (,@(window-parameter-bindings bindings)
  
negative.code: 	  (alexandria:symbolicate sketch '- (car binding)))))
  
  (defun make-slot-form (sketch binding)
    `(,(car binding) :initarg ,(alexandria:make-keyword (car binding))
       :accessor ,(binding-accessor sketch binding)))
  
  ;;; DEFSKETCH channels
  