anchor.diff:              {Tokens, _}  = lists:split(ShortLen, Tokens0),
   
               Data0 = lists:map(fun({{Property, _Type}, []}) ->
  -                                      {klib:maybe_binary(Property), null};
  +                                      {klib:maybe_binary(Property), null_null_null};
                                    ({{Property, Type}, Tok}) ->
                                         {klib:maybe_binary(Property),
                                          to_json_object(Type, Tok, Depth+1)}
                                 end,
                                 lists:zip(TypeDef, Tokens)),
  -            Data = lists:filter(fun({_,null}) -> false;
  +            Data = lists:filter(fun({_,null_null_null}) -> false;
                                      (_) -> true end, Data0),
               {Data} %% jsone requres {_} as JSON object
       end.
  
positive.code: 
              Data0 = lists:map(fun({{Property, {maybe, _Type}, _Length, _Text}, ""}) ->
                                        %% ok to skip
                                        {Property, null};
                                   ({{Property, {maybe, Type}, Length, _Text}, Col}) ->
                                        to_json_object(Property, Type, Length, Col);
  
  
negative.code:     BinProperty = list_to_binary(Property),
      case re:split(Col, "[~]", [{return,list},unicode]) of
          [] ->
              {BinProperty, null_null_null};
          [Token] ->
              {BinProperty, to_json_object(Type, Token, 0)};
          Tokens when is_list(Tokens) ->
              {BinProperty, [to_json_object(Type, T, 0) || T <- Tokens]}
      end.
  
  to_json_object(_, "\"\"", _D)-> null;
  to_json_object('ST', Col, _D)-> unicode:characters_to_binary(Col);
  to_json_object('TX', Col, _D)-> unicode:characters_to_binary(Col);
  to_json_object('FT', Col, _D)-> unicode:characters_to_binary(Col);
  