anchor.diff:                           end,
   
       %% Generate API list
  -%%     Bin = api_bin(Wordsize, HasDirtySchedulers),
  -%%     Entries = extract_all_entries(Bin),
  -    Entries = api_list(Wordsize, HasDirtySchedulers),
  +    Entries = api_list(Version, Wordsize, HasDirtySchedulers),
   
       %% Emit bindings
  -    emit_nif_version(OutputDir),
  +    emit_nif_version(Version, OutputDir),
  +
  +    %% Emit type aliases
  +    % emit_type_aliases(Version),
   
       case erlang:system_info(system_architecture) of
           "win32" -> emit_windows_bindings(Entries, OutputDir);
  
positive.code: %% the Windows callback struct keeps proper integrity.  Such functions
  %% must begin with "dummy."
  %%
  api_list(Wordsize, HasDirtySchedulers) -> [
  
      {"*mut c_void", "enif_priv_data", "arg1: *mut ErlNifEnv"},
      {"*mut c_void", "enif_alloc", "size: size_t"},
  
negative.code: main([OutputDir]) ->
  
      %% Collect and check erlang configuration
      Version = get_nif_version(),
      check_version(Version),
  
      Wordsize = erlang:system_info(wordsize),
      HasDirtySchedulers = case catch erlang:system_info(dirty_cpu_schedulers) of
                               _X when is_integer(_X) -> true;
  