anchor.diff:  			 :persistent persistent
   			 :cb fn)))))
   
  -(cffi:defcallback cl-call :void ((args :pointer) (argc :int))
  -  (let* ((callback-id (convert-js-value (cffi:mem-aptr args '(:struct jx:jx-value) 0)))
  -	 (callback-handle (gethash callback-id *callbacks*))
  -	 (converted-args
  -	  (loop
  -	     for i from 1 to (1- argc)
  -	     collect (convert-js-value (cffi:mem-aptr args '(:struct jx:jx-value) i)))))
  -    (apply (cb callback-handle) converted-args)
  +(define-js-callback cl-call (callback-id &rest args)
  +  (print 'cl-call)
  +  (let ((callback-handle (gethash callback-id *callbacks*)))
  +    (print args)
  +    (apply (cb callback-handle) args)
       (unless (persistentp callback-handle)
         (remhash callback-id *callbacks*)
  -      (free callback-handle))))
  -      
  +      (free callback-handle))))      
     
   ;;; **************************************************
   
  
positive.code: 
  ;;; **************************************************
  
  (defvar *callbacks*
    (make-hash-table :test 'equal))
  
  
negative.code: ;;; **************************************************
  
  ;;; **************************************************
  
  
  (defclass js-value-handle ()
    ((js-value :reader js-value
  