anchor.diff:    (declare (ignore type-spec))
     'single-float)
   
  -(deftype-method
  -    translate-to-alien single-float (type-spec number &optional copy)
  -  (declare (ignore type-spec copy))
  -  number)
  -
  -(deftype-method
  -    translate-from-alien single-float (type-spec number &optional alloc)
  +(deftype-method size-of single-float (type-spec)
  +  (declare (ignore type-spec))
  +  +size-of-float+)
  +
  +(deftype-method translate-to-alien single-float
  +    (type-spec number &optional copy)
  +  (declare (ignore type-spec copy))
  +  number)
  +
  +(deftype-method translate-from-alien single-float
  +    (type-spec number &optional alloc)
     (declare (ignore type-spec alloc))
     number)
   
  
positive.code: ;; To make the compiler shut up
  (eval-when (:compile-toplevel :load-toplevel :execute)
    (define-type-method-fun translate-type-spec (type-spec))
    (define-type-method-fun translate-to-alien (type-spec expr &optional copy))
    (define-type-method-fun translate-from-alien (type-spec expr &optional alloc))
    (define-type-method-fun cleanup-alien (type-spec expr &optional copied)))
    
  
  ;;;; 
  
negative.code: 	 (rest args)
         args))))
  
  
  (lisp:deftype enum (&rest args)
    `(member ,@(map-mappings args :symbols)))
  
  (deftype-method translate-type-spec enum (type-spec)
    (let ((args (cdr (type-expand-to 'enum type-spec))))
      (if (integerp (first args))
  	(translate-type-spec `(signed ,(first args)))
        (translate-type-spec 'signed))))
  
  (deftype-method size-of enum (type-spec)
    (let ((args (cdr (type-expand-to 'enum type-spec))))
      (if (integerp (first args))
  	(size-of `(signed ,(first args)))
        (size-of 'signed))))
  
  (deftype-method translate-to-alien enum (type-spec expr &optional copy)
    (declare (ignore copy))
    (let ((args (cdr (type-expand-to 'enum type-spec))))
      `(let ((expr ,expr))
         (if (integerp expr)
  	   expr
  	 (ecase expr
  	   ,@(map-mappings args :enum-int))))))
  
  (deftype-method translate-from-alien enum (type-spec expr &optional alloc)
    (declare (ignore alloc))
  