anchor.diff:    var
       i: Integer;
       v: TValue;
  +    count: integer;
     begin
       Result := TSuperObject.Create(stArray);
  -    for i := 0 to Value.GetArrayLength - 1 do
  +    count := Value.GetArrayLength;
  +    // if the array is a TList the `Value.GetArrayLength` will give the wrong value.
  +    // `Value.GetArrayLength` will return the TList's capacity.
  +    // Fx. if the TList has 1/2 elements `Value.GetArrayLength` will return 1/2.
  +    // If add a 3. `Value.GetArrayLength` will then return 4.
  +    // There for will need to now the count size before calling this function.
  +    if _listCount > -1 then
  +      count := _listCount;
  +    for i := 0 to count - 1 do
       begin
         v := Value.GetArrayElement(i);
         if not v.IsEmpty then
  
positive.code:           FromInt(o) else
            Result := False;
        end;
      else
        Result := False;
      end;
  
negative.code:       end;
      stString:
        begin
          GetLocaleFormatSettings(GetSystemDefaultLCID, fmtSettings);
          fmtSettings.DateSeparator := '-';
          fmtSettings.TimeSeparator := ':';
          fmtSettings.ShortDateFormat := 'yyyy-mm-dd';
          fmtSettings.LongDateFormat := 'yyyy-mm-dd';
          fmtSettings.ShortTimeFormat := 'hh:nn:ss';
          fmtSettings.LongTimeFormat := 'hh:nn:ss';
          if TypeInfo.name = 'TDate' then
          begin
            value := TValue.from<TDate>(StrToDate(obj.AsString, fmtSettings));
            result := true;
          end
          else if TypeInfo.name = 'TTime' then
          begin
            value := TValue.from<TTime>(StrToTime(obj.AsString, fmtSettings));
            result := true;
          end
          else if TypeInfo.name = 'TDateTime' then
          begin
            ISO8601DateToDelphiDateTime(SOString(obj.AsString), dt);
            value := TValue.From<TDateTime>(dt);
            result := true;
          end
          else
          begin
            o := SO(obj.AsString);
            if not ObjectIsType(o, stString) then
              FromFloat(o) else
              Result := False;
          end;
        end
      else
         Result := False;
  