anchor.diff:  
   (DEFUN shen.analyse-application (F FSym Args Message)
     (LET ((Lambda
  -         (IF (shen.wrapper (shen.partial-application? F Args))
  +         (IF (shen-cl.true? (shen.partial-application? F Args))
             (shen.build-up-lambda-expression FSym F)
  -          (IF (shen.wrapper (shen.lazyboolop? F))
  +          (IF (shen-cl.true? (shen.lazyboolop? F))
               (shen.build-up-lambda-expression FSym F)
               (simple-error Message)))))
       (shen.curried-apply Lambda Args)))
  
positive.code:   (LET ((Arity (trap-error (arity F) #'(LAMBDA (E) -1))))
      (IF (OR (shen.ABSEQUAL Arity -1)
              (shen.ABSEQUAL Arity (length Args))
              (shen.wrapper (shen.greater? (length Args) Arity)))
        'false
        'true)))
  
  
negative.code:       (NULL (CDDDR Expr)))
       (CONS '<= (CDR Expr)))
  
      ; X -> [shen-cl.true? X]
      (T
       (LIST* 'shen-cl.true? Expr NIL))))
  
  (DEFUN shen-cl.true? (X)
    (COND
      ((EQ 'true X)  'T)
      ((EQ 'false X) ())
      (T (simple-error (cn "boolean expected: not ~A~%" X)))))
  
  (DEFUN shen.maplispsym (Symbol)
    (COND
  