anchor.diff:  -spec get_type(cerl:cerl(), #sub{}) -> type_info() | 'none'.
   
   get_type(#c_var{name=V}, #sub{t=Tdb}) ->
  -    case orddict:find(V, Tdb) of
  -	{ok,Type} -> Type;
  -	error -> none
  +    case Tdb of
  +        #{V:=Type} -> Type;
  +        _ -> none
       end;
   get_type(C, _) ->
       case cerl:type(C) of
  
positive.code: %%  to force renaming if variables in the scope occurs as pattern
  %%  variables.
  
  sub_new() -> #sub{v=orddict:new(),s=cerl_sets:new(),t=[]}.
  
  sub_new(#sub{}=Sub) ->
      Sub#sub{v=orddict:new(),t=[]}.
  
  sub_new_preserve_types(#sub{}=Sub) ->
      Sub#sub{v=orddict:new()}.
  
negative.code: %%  return Expr0 unchanged.
  %%
  case_expand_var(E, #sub{t=Tdb}) ->
      Key = cerl:var_name(E),
      case Tdb of
          #{Key:=T0} ->
  	    case cerl:is_c_tuple(T0) of
  		false ->
  		    E;
  