anchor.diff:  
   to_orddict(#array{size = 0}) ->
       [];
  -to_orddict(#array{size = N, elements = E, default = D}) ->
  +to_orddict(#array{size = N, elements = E, default = D}) when is_integer(N) ->
       I = N - 1,
       to_orddict_1(E, I, D, I);
   to_orddict(_) ->
  
positive.code: 
  sparse_to_list(#array{size = 0}) ->
      [];
  sparse_to_list(#array{size = N, elements = E, default = D}) ->
      sparse_to_list_1(E, D, N - 1);
  sparse_to_list(_) ->
      erlang:error(badarg).
  
negative.code:       Function :: fun((Index :: array_indx(), Value :: Type, Acc :: A) -> B).
  
  foldl(Function, A, #array{size = N, elements = E, default = D})
    when is_function(Function, 3), is_integer(N) ->
      if N > 0 ->
  	    foldl_1(N-1, E, A, 0, Function, D);
         true ->
  