anchor.diff:  decode_elements(Rest, Acc, 0, _ArDec) ->
       {lists:reverse(Acc), Rest};
   decode_elements(<<-1:?int32, Rest/binary>>, Acc, N,
  -                #array_decoder{nulls = [Null | _]} = ArDec) ->
  +                #array_decoder{null_term = Null} = ArDec) ->
       decode_elements(Rest, [Null | Acc], N - 1, ArDec);
   decode_elements(<<Len:?int32, Value:Len/binary, Rest/binary>>, Acc, N,
                   #array_decoder{element_decoder = ElemDecoder} = ArDecoder) ->
  
positive.code:          oid_db :: epgsql_oid_db:db()}).
  -record(array_decoder,
          {element_decoder :: decoder(),
           nulls :: nulls() }).
  -record(array_encoder,
          {element_encoder :: epgsql_codec:codec_entry(),
           n_dims = 0 :: non_neg_integer(),
  
negative.code:         false ->
              {fun epgsql_codec_noop:decode_text/3, undefined, []}
      end;
  make_decoder(Name, Mod, State, Codec, binary, true) ->
      {fun ?MODULE:decode_array/3, array,
       #array_decoder{
          element_decoder = {fun Mod:decode/3, Name, State},
          null_term = null(Codec)}};
  make_decoder(Name, Mod, State, _Codec, binary, false) ->
      {fun Mod:decode/3, Name, State}.
  
  