anchor.diff:        TreeVar = mk_var(Tree),
         State2 =
   	try
  -	  State1 = case state__add_prop_constrs(Tree, State0) of
  -		     not_called -> State0;
  -		     PropState -> PropState
  -		   end,
  +	  State1 = state__add_prop_constrs(Tree, State0),
   	  {BodyState, BodyVar} = traverse(Body, DefinedVars1, State1),
   	  state__store_conj(TreeVar, eq,
   			    t_fun(mk_var_list(Vars), BodyVar), BodyState)
  
positive.code: 		self_rec                 :: 'false' | erl_types:erl_type(),
  		plt                      :: dialyzer_plt:plt()
                                            | 'undefined',
  		prop_types  = dict:new() :: dict_prop_types(),
                  mod_records = []         :: [{module(), types()}],
  		scc         = []         :: ordsets:ordset(type_var()),
  		mfas                     :: [mfa()],
  
negative.code: -type typesig_funmap() :: #{type_var() => type_var()}.
  
  -type prop_types() :: orddict:orddict(label(), erl_types:erl_type()).
  -type dict_prop_types() :: #{label() => erl_types:erl_type()}.
  
  -record(state, {callgraph                :: dialyzer_callgraph:callgraph()
                                            | 'undefined',
  