anchor.diff:  	for c fixnum below size
   	do (marshal-octet (ldb (byte 8 p) n) buffer)))
   
  -;;#-clisp
  -(define-compiler-macro marshal-number (&whole form n size buffer)
  +;;
  +(#-clisp define-compiler-macro #+clisp defmacro
  +         marshal-number (&whole form n size buffer)
     (if (numberp size)
         (let ((nvar '#:nvar)
               (nnvar '#:nnvar)
  
positive.code: 
  (defun marshal-string (s buffer)
    (marshal-ulong (1+ (length s)) buffer)
    (doseq (c s) (marshal-octet (char-code c) buffer))
    (marshal-octet 0 buffer))
  
  (defun marshal-osequence (s buffer)
  
negative.code:   (marshal-sequence (object-profiles objref)
                      #'marshal-tagged-component buffer))
  
  
  
  (defun marshal-write-union (union params buffer)
    (let* ((discriminant (union-discriminator union))
  