anchor.diff:  Reducer<T> _dynamicReducer<T>(
     Reducer<T> reducer,
     Map<String, AbstractLogic<Object>> pool,
  -  AbstractConnector<T, List<ItemBean>> connector,
  +  AbstractConnector<T, AdapterSource> connector,
   ) {
  -  final Reducer<List<ItemBean>> dyReducer =
  -      (List<ItemBean> state, Action action) {
  -    List<ItemBean> copy;
  -    for (int i = 0; i < state.length; i++) {
  -      final ItemBean itemBean = state[i];
  -      final AbstractLogic<Object> result = pool[itemBean.type];
  +  final Reducer<AdapterSource> dyReducer =
  +      (AdapterSource state, Action action) {
  +    AdapterSource copy;
  +    for (int i = 0; i < state.itemCount; i++) {
  +      final AbstractLogic<Object> result = pool[state.getType(i)];
         if (result != null) {
  -        final Object newData = result.onReducer(itemBean.data, action);
  -        if (newData != itemBean.data) {
  -          copy ??= state.toList();
  -          copy[i] = itemBean.clone(data: newData);
  +        final Object oldData = state.getData(i);
  +        final Object newData = result.onReducer(oldData, action);
  +        if (newData != oldData) {
  +          copy = state.update(i, newData, copy != null);
           }
         }
       }
  
positive.code:     ///   Object key() => _key;
      /// }
      @deprecated Object Function(T) key,
    }) : super(
            reducer: _dynamicReducer(reducer, pool, connector),
            effect: effect,
            filter: filter,
            dependencies: null,
  
negative.code: import '../utils/utils.dart';
  import 'recycle_context.dart';
  
  /// Use [AdapterSource] instead of [List<ItemBean>]
  // @deprecated
  class ItemBean {
    final String type;
    final Object data;
  