anchor.diff:      result := false
     end;
   
  -procedure TVorunati<I,O>.Send( ival : I );
  +function TVorunati<I,O>.Send( ival : I ): boolean;
     begin
  +    result :=  false
     end;
   
   procedure TVorunati<I,O>.Step;
  
positive.code:       constructor Create;
        function GetState : vor; virtual;
        function Poll(out oval : O ) : boolean; virtual;
        procedure Send( ival : I ); virtual;
        procedure Step; virtual;
        procedure Run; virtual; // default version steps while state = vo.
      end;
  
negative.code:   end;
  
    // ITake<I> allows an object to act as a sink for values of type I.
    // result := true indicates that the value was accepted.
    ITake<I> = interface
      function Send( ival : I ) : boolean;
    end;
    
    // IGive<O> allows an object to act as a source for values of type O.
  