anchor.diff:              (map 'string (constantly #\space) (format nil "~A" (length allvars)))
               (length ode-vars))
   
  -    (setf part-pos (file-position file))
  +    (setf (numerica-model-part-pos nm) (file-position file))
       (format file "~A) of Concentration~%~
                     ~2TEQUATION"
               (map 'string (constantly #\space) (format nil "~A" (length allvars))))
  
positive.code:                          do (format file "~%~4Tpart(~S) = ~A;" p rate-str)
                           finally (format file "~%~4T$c(~A) = ~:[0~;~{part(~A)~^+~}~];" (1+ i) parts parts)))
                    (t (format file "~%~T$c(~A) = ~A;" (1+ i) 
                               (rate-str-without-outer-parens rate)))))
                    
               (scribble (obj pos)
                 (let ((end (file-position file)))
                   (file-position file pos)
                   (prin1 obj file)
                   (file-position file end))))
  
      (format t "~&; Writing model block")
      (format file "MODEL ~A~%~
  
negative.code:                   base-units
                    (b-format file "~%~6Tc(~A) = ~A;#" i (print-math v.t0 nil)))
                   (b-format file " [~A] ~A~@[ in ~A~]" i v (unless (eq null-unit the-unit) the-unit)))))
  
      ;; write the parameters:
      (write-kvars nm file)
  
      (format file "~%~4TEND~%~
                    ~2TSCHEDULE~%~
  