anchor.diff:  constructor TImpForth.Create(aOwner : TComponent);
     begin
       inherited Create(aOwner);
  +    root := TComponent.Create(self); root.name := 'root';
       vm := TInnerVM.Create(self);
       io := kvm.work;
       _model := uevt.TModel.Create(self);
  
positive.code:   TThunk    = procedure of object;
    TImpStack = GStack<variant>;
    TCmdQueue = TQueue<integer>;
  
    TInnerVM = class  (TComponent)
  
negative.code:       data := id;
      end;
      inc(numwds);
    end;
  
  procedure TImpForth.Mount( iden : TStr; imod : TImpModule );
    begin imod.name := u2a(iden); imod.imp := self; root.insertComponent(imod);
    end;
  
  procedure TImpForth.Mount( iden : TStr; cimod : CImpModule );
    begin Mount(iden, cimod.Create(nil));
    end;
  
  procedure TImpModule.SetImp( aImp : TImpForth );
    begin _imp := aImp; data := _imp.data; side := _imp.side; attach;
    end;
  
  function TImpForth.GetModule( iden : TStr ) : TImpModule;
    begin result := TImpModule(root.FindComponent(u2a(iden)))
    end;
  
  procedure TImpForth.Send( s : TStr );
  