anchor.diff:  (defmethod char-code-at ((this -string-proto) pos)
     (let ((posi (-to-integer pos)))
       (if (or (< 0 posi) (>= posi (slot-value this 'length)))
  -	(!number :nan)
  +	*number-nan*
   	(!number (char-code (char (slot-value this '-string-data) posi))))))
   
   (defmethod code-point-at ((this -string-proto) pos)
  
positive.code: 	      ;; 10FFFF is 1114111
  	      (<= 0 next-cp 1114111))
  	 ;; Range error.
  	 (error "")
         do (setf (aref out i) (UTF16Encoding next-cp)))
      (!string out))
  
  
negative.code:      (-to-string (-to-primitive arg :hint 'string)))))
  
  (defun -string (&optional value)
    (let ((s (if value
  	       (if (eql (-type value 'symbol-type)
  			(property-value (cdr (assoc 'to-string-tag (fetch-properties value))))
  			(-to-string value)))
  	       "")))
      (make-instance '-string-proto :-string-data s)))
  
  