anchor.diff:  (defun read-tal-file-into-string (pathname)
     (or
      (ignore-errors (read-string-from-file pathname :external-format :utf-8))
  +   (ignore-errors (read-string-from-file pathname :external-format :utf8))
      (ignore-errors (read-string-from-file pathname :external-format :latin-1))
      (ignore-errors (read-string-from-file pathname :external-format :ascii))
      (error "Failed to load template content in utf-8, latin-1 or ascii ~a" pathname)))
  
positive.code:   bound to the result of TEST in BODY."
    `(when-bind it ,test ,@body))
  
  
  (defun read-string-from-file (pathname &key (buffer-size 4096)
                                              (element-type 'character)
                                              (external-format :us-ascii))
    "Return the contents of PATHNAME as a fresh string.
  
  The file specified by PATHNAME will be read one ELEMENT-TYPE
  
negative.code: The EXTERNAL-FORMAT parameter will be passed to
  ENCODING-KEYWORD-TO-NATIVE, see ENCODING-KEYWORD-TO-NATIVE to
  possible values."
    (arnesi:with-input-from-file
        (file-stream pathname :external-format external-format)
      (with-output-to-string (datum) 
        (let ((buffer (make-array buffer-size :element-type element-type)))
  	(loop for bytes-read = (read-sequence buffer file-stream)
  