anchor.diff:                      {hd,#bind{tind=?MainIdx,cind=Cx,type=Type}=B} ->
                           Fx = fun(X) -> 
                               OldVal = Proj(X),
  -                            case imem_datatype:io_to_db(Item,OldVal,list_type(Type),undefined,undefined,<<>>,false,Value) of
  -                                OldVal ->   X;
  -                                NewVal ->   ?replace(X,Cx,[NewVal|tl(?BoundVal(B,X))])
  +                            case {Value, OldVal} of 
  +                                {?navio,?nav} ->
  +                                    X;                                                  % attribute still not present
  +                                {?navio,_} ->       
  +                                    ?replace(X,Cx,tl(?BoundVal(B,X)));                  % remove head
  +                                _ ->
  +                                    case imem_datatype:io_to_db(Item,OldVal,list_type(Type),undefined,undefined,<<>>,false,Value) of
  +                                        OldVal ->   X;
  +                                        NewVal ->   ?replace(X,Cx,[NewVal|tl(?BoundVal(B,X))])
  +                                    end
                               end
                           end,     
                           {Cx,1,Fx};
  
positive.code:           end
            || 
            {#bind{readonly=R}=CMap,Value} 
            <- lists:zip(ColMap,Values), R==false, Value /= ?navio
          ]),    
      UpdatedRecs = update_recs(Recs, UpdateMap),
      NewRec = if_call_mfa(IsSec, apply_validators, [SKey, DefRec, element(?MainIdx, UpdatedRecs), Tab]),
  
negative.code:                         Pos = length(?BoundVal(B,Recs)),
                          Fx = fun(X) -> 
                              OldVal = Proj(X),
                              case {Value, OldVal} of 
                                  {?navio,?nav} ->
                                      X;                                                  % attribute still not present
                                  {?navio,_} ->       
                                      ?replace(X,Cx,lists:sublist(?BoundVal(B,X),Pos-1)); % remove last element
                                  _ ->
                                      case imem_datatype:io_to_db(Item,OldVal,list_type(Type),undefined,undefined,<<>>,false,Value) of
                                          OldVal ->   X;
                                          NewVal ->   ?replace(X,Cx,lists:sublist(?BoundVal(B,X),Pos-1) ++ NewVal)
                                      end
                              end
                          end,     
                          {Cx,Pos,Fx};
  