anchor.diff:        (CONSP Expr)
         (EQ '+ (CAR Expr))
         (CONSP (CDR Expr))
  -      (shen.ABSEQUAL 1 (CADR Expr))
  +      (shen.absequal 1 (CADR Expr))
         (CONSP (CDDR Expr))
         (NULL (CDDDR Expr)))
        (LIST (intern "1+") (shen.optimise-application (CADDR Expr))))
  
positive.code:      Expr)))
  
  (DEFUN shen.mk-lambda (F Arity)
    (IF (shen.ABSEQUAL 0 Arity)
      F
      (LET ((Var (gensym 'V)))
        (LIST 'lambda Var (shen.mk-lambda (shen.endcons F Var) (1- Arity))))))
  
negative.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))))
  
  