anchor.diff:          Err ->
               Err
       end.
  -
  -%%====================================================================
  -%% Runtime API
  -%%====================================================================
  --spec reverse([any()], pos_integer(), pos_integer() | infinity) -> [any()].
  -
  -reverse(L, Min, Max) ->
  -    reverse(L, Min, Max, 0, []).
  -
  -reverse([H|T], Min, Max, Count, Acc) ->
  -    reverse(T, Min, Max, Count+1, [H|Acc]);
  -reverse([], Min, Max, Count, Acc) when Count >= Min, Count =< Max ->
  -    Acc.
   
   %%====================================================================
   %% Runtime decoders/encoders
  
positive.code:                                  [label_to_var(L1)])]);
                         ({L, [#ref{min = 0, max = infinity}|_]}) ->
                              make_function_call(
                                lists, reverse, [label_to_var(L)]);
                         ({L, [#ref{min = Min, max = Max}|_]}) ->
                              make_function_call(
                                xml_gen, reverse,
                                [label_to_var(L), abstract(Min), abstract(Max)])
                         end, group_refs(Refs)),
      CDataCall = if HaveCData ->
                          [make_function_call(
                             make_dec_fun_name([cdata,Tag]), CDataVars)];
  
negative.code: %% Generator API
  -export([compile/1]).
  %% Runtime API
  -export([format_error/1, get_attr/2]).
  %% Runtime built-in decoders/encoders
  -export([dec_int/1, dec_int/3, dec_enum/2,
           enc_int/1, enc_enum/1, not_empty/1]).
  