anchor.diff:  
   ;;; Syntax differs from anything else in CFFI.  Fix?
   (define-grovel-syntax constant ((lisp-name &rest c-names)
  -                                &key documentation optional)
  +                                &key (type 'integer) documentation optional)
     (when (keywordp lisp-name)
       (setf lisp-name (format-symbol "~A" lisp-name)))
     (c-section-header out "constant" lisp-name)
  
positive.code:     (c-format out "(cl:defconstant ")
      (c-print-symbol out lisp-name t)
      (c-format out " ")
      (format out "~&  if(SIGNED64P(~A))~%" c-name)
      (format out "    fprintf(output, \"%lli\", (int64_t) ~A);" c-name)
      (format out "~&  else~%")
      (format out "    fprintf(output, \"%llu\", (uint64_t) ~A);" c-name)
      (when documentation
        (c-format out " ~S" documentation))
      (c-format out ")~%")
  
negative.code: 
  error:
    fprintf(output, \"(cl:error \\\"No type of size ~D.\\\" %i)\\n\", size);
  }
  
  char* print_double_for_lisp(double n)
  {
      static char buf[256];
      memset(buf, 0, 256);
      snprintf(buf, 255, \"(let ((*read-default-float-format* 'double-float)) (coerce (read-from-string \\\"%.20E\\\") 'double-float))\", n);
      return buf;
  }
  ")
  
  