anchor.diff:  
      This format follows https://en.wikipedia.org/wiki/List_of_postal_codes.
     "
  -  (funcall fn postcode (map 'string #'(lambda (c) (cond ((latin-char-p c) #\A)
  -                                                        ((digit-char-p c) #\N)
  -                                                        ((or (char= #\- c) (char= #\. c)) #\Space)
  -                                                        (T c)))
  -                            (string-upcase postcode))))
  +  (let ((pattern (map 'string #'(lambda (c) (cond ((latin-char-p c) #\A)
  +                                                  ((digit-char-p c) #\N)
  +                                                  ((or (char= #\- c) (char= #\. c)) #\Space)
  +                                                  (T c)))
  +                      (string-upcase postcode))))
  +    (funcall fn postcode pattern)))
   
   
   (defun get-phone-or-flat-pattern (phone fn)
  
positive.code: 
  (defun get-house-number-pattern (house-number fn)
    (dolist (number (get-house-number-sub-numbers house-number))
      (funcall fn (join-house-number-tokens number)
               (join-house-number-parse (drop-while #'(lambda (token)
                                                        (not (eq :number (token-type token))))
                                                    (parse-house-number number))))))
  
  (defun get-house-number-strings (house-number fn)
    (dolist (number (get-house-number-sub-numbers house-number))
  
negative.code: 
  (defun starts-with (text prefix)
    "Returns non-nil if text starts with prefix."
    (and (>= (length text) (length prefix))
         (loop for u being the element of text
            for v being the element of prefix
            always (char= u v))))
  
  (defun get-postcode-pattern (postcode fn)
    "Simplifies postcode in the following way:
  