anchor.diff:  average_group([{Instance,Type1,N},{Instance,Type2,M} | Rest]) ->
       [{Instance,[{Type1,N},{Type2,M}]} | average_group(Rest)].
   
  +%% Create a new snapshot
  +snapshot_int() ->
  +    {erlang:memory(),allocators()}.
  +
  +%% If no snapshot has been taken/loaded then we use current values
  +snapshot_get_int() ->
  +    case snapshot_get() of
  +        undefined ->
  +            snapshot_int();
  +        Snapshot ->
  +            Snapshot
  +    end.
  +
  +%% Get the alloc part of a snapshot
  +alloc() ->
  +    {_Mem,Allocs} = snapshot_get_int(),
  +    Allocs.
  +alloc(Type) ->
  +    [{{T,Instance},Props} || {{T,Instance},Props} <- alloc(),
  +                             lists:member(T,Type)].
  +
  +%% Get only alloc_util allocs
  +util_alloc() ->
  +    alloc(?UTIL_ALLOCATORS).
  +
  +%% Get the erlang:memory part of a snapshot
  +mem() ->
  +    {Mem,_Allocs} = snapshot_get_int(),
  +    Mem.
  +mem(Type) ->
  +    orddict:fetch(Type,mem()).
  
positive.code:       {Weight, Vals} = weighed_values({BlockSbcs,CarSbcs},
                                        {BlockMbcs,CarMbcs}),
        {Weight, {Allocator,N}, Vals}
      end || {{Allocator, N}, Props} <- allocators()],
      [{Key,Val} || {_W, Key, Val} <- lists:reverse(lists:sort(WeighedData))].
  
  %% @doc looks at the `mseg_alloc' allocator (allocator used by all the
  
negative.code: %%%
  %%% A lot of trial and error might be required to figure out if tweaks have
  %%% helped or not, ultimately.
  %%%
  %%% In order to help do offline debugging of memory allocator problems
  %%% recon_alloc also has a few functions that store snapshots of the
  %%% memory statistics. See {@link snapshot_load/1} for a simple use-case.
  %%%
  %%% Glossary:
  %%% <dl>
  