anchor.diff:  class procedure Assert.Implements<T>(value: IInterface; const message: string);
   begin
     if not Supports(value,GetTypeData(TypeInfo(T)).Guid) then
  -    Fail(message,ReturnAddress);
  +    Fail(Format('value does not implement %s. %s', [GetTypeName(TypeInfo(T)), message]),ReturnAddress);
   end;
   
   class procedure Assert.InheritsFrom(const descendant, parent: TClass; const message: string);
  
positive.code:   for o in arr do
    begin
      if comparer.Compare(o,value) = 0 then
        Fail(Format('List contains value. %s',[message]), ReturnAddress);
    end;
  end;
  {$ENDIF}
  
negative.code:       exit;
    end;
  
    Fail(Format('List does not contain value %s. %s',[TValue.From<T>(value).ToString, message]), ReturnAddress);
  end;
  
  class procedure Assert.Contains<T>(const arr : array of T; const value : T; const message : string = '');
  