anchor.diff:  ///
   ///   let rec [variable] = [definition] in [body]
   ///
  -class DeclareFunction extends Expression {
  +class DeclareFunction extends Expression implements InteriorNode {
     final Local variable;
     final FunctionDefinition definition;
     Expression body;
  
positive.code: /// continuation body.
  /// During one-pass construction a LetCont with an empty continuation body is
  /// used to represent the one-level context 'let cont k(v) = [] in E'.
  class LetCont extends Expression {
    final Continuation continuation;
    final Expression body;
  
    LetCont(this.continuation, this.body);
  
  
negative.code: /// value is in scope in the body.
  /// During one-pass construction a LetVal with an empty body is used to
  /// represent one-level context 'let val x = V in []'.
  class LetPrim extends Expression implements InteriorNode {
    final Primitive primitive;
    Expression body = null;
  
  