anchor.diff:  
       List = [{Key, Val} || {{ok, Key}, {ok, Val}} <- 
                                 [{read(IProto, KeyType),
  -                                read(IProto, ValType)} || _X <- lists:seq(1, Size)]],
  +                                read(IProto, ValType)} || _X <- lists:duplicate(Size, 0)]],
       ok = read(IProto, map_end),
       {ok, dict:from_list(List)};
   
  
positive.code:     #protocol_list_begin{etype = EType, size = Size} =
          read(IProto, list_begin),
      List = [Result || {ok, Result} <- 
                            [read(IProto, Type) || _X <- lists:seq(1, Size)]],
      ok = read(IProto, list_end),
      {ok, List};
  
  
negative.code:     List = [case dict:find(Index, RDict) of
                  {ok, Val} -> Val;
                  error     -> undefined
              end || Index <- IndexList],
      {ok, list_to_tuple(List)};
  
  read(IProto, {struct, {Module, StructureName}}) when is_atom(Module),
  