anchor.diff:                sstk=[] :: [#epp{}],              %State stack
                 path=[] :: [file:name()],         %Include-path
                 macs = #{}		        %Macros (don't care locations)
  -	            :: #{name() => {argspec(), tokens()}},
  +	            :: #{name() => predef() | [userdef()]},
                 uses = #{}			%Macro use structure
   	            :: #{name() => [{argspec(), [used()]}]},
                 default_encoding = ?DEFAULT_ENCODING :: source_encoding(),
  
positive.code: -type name() :: atom().
  -type argspec() :: 'none'                       %No arguments
                   | non_neg_integer().           %Number of arguments
  -type tokens() :: [erl_scan:token()].
  -type used() :: {name(), argspec()}.
  
  -type function_name_type() :: 'undefined'
  
negative.code: %%
  %% %CopyrightBegin%
  %%
  %% Copyright Ericsson AB 1996-2016. All Rights Reserved.
  %%
  %% Licensed under the Apache License, Version 2.0 (the "License");
  %% you may not use this file except in compliance with the License.
  