anchor.diff:  (defun get-jp-numeral-power (n usage-sym)
     (alexandria:if-let ((a-entry (assoc n +jp-numeral-power-alist+)))
       (get-jp-numeral-from-entry (cdr a-entry) usage-sym)))
  +     
  +(defun get-jp-numeral-sign (usage-sym)
  +  ;; TODO: use babel.
  +  (ecase usage-sym
  +    (:normal "マイナス")
  +    (:financial "負の")
  +    (:old "負之")
  +    (:positional "−")))
  +  
        
   
   (defun make-jp-numeral-digits4-string (digits4 style)
  
positive.code: 		     (colon-p :financial)
  		     (at-sign-p :old)
  		     (t :normal))))
      (write-jp-numeral stream object style)))
  
negative.code:        while (> rest 0))
      strs))
  
  (defun %pprint-jp-numeral (stream object &optional (style :normal))
    (unless (numberp object)
      (error "~A is not an expected type for jp-numeral" (type-of object)))
    (ctypecase object
      (integer
       (let ((jp-numeral-strs nil))
         (when (minusp object)
  	 (push (get-jp-numeral-sign style) jp-numeral-strs)
  	 (setf object (- object)))
         (alexandria:appendf
  	jp-numeral-strs
  	(if (eq style :positional)
  	    (make-positional-jp-numeral-integer-string object)
  	    (make-jp-numeral-integer-string object style)))
         (when (and (zerop object)
  		  (null jp-numeral-strs))
  	 (push (get-jp-numeral-decimal 0 style) jp-numeral-strs))
         (loop for s in jp-numeral-strs
  	  do (write-string s stream))))))
  
  