anchor.diff:        (NUMBERP (CADR Expr)))
        (LIST 'IF (CONS 'NUMBERP (CDDR Expr)) (LIST '= (CADDR Expr) (CADR Expr))))
   
  -    ; [equal? X Y] -> [(protect shen.ABSEQUAL) X Y]
  +    ; [equal? X Y] -> [(protect shen.absequal) X Y]
       ((AND
         (CONSP Expr)
         (EQ 'shen.equal? (CAR Expr))
         (CONSP (CDR Expr))
         (CONSP (CDDR Expr))
         (NULL (CDDDR Expr)))
  -     (CONS 'shen.ABSEQUAL (CDR Expr)))
  +     (CONS 'shen.absequal (CDR Expr)))
   
       ; [greater? X Y] -> [> X Y]
       ((AND
  
positive.code:       (EQ '- (CAR Expr))
        (CONSP (CDR Expr))
        (CONSP (CDDR Expr))
        (shen.ABSEQUAL 1 (CADDR Expr))
        (NULL (CDDDR Expr)))
       (LIST (intern "1-") (shen.optimise-application (CADR Expr))))
  
  
negative.code: 
  (DEFUN shen.partial-application? (F Args)
    (LET ((Arity (trap-error (arity F) #'(LAMBDA (E) -1))))
      (IF (OR (shen.absequal Arity -1)
              (shen.absequal Arity (length Args))
              (shen-cl.true? (shen.greater? (length Args) Arity)))
        'false
        'true)))
  