anchor.diff:      %%    in <InnerBody>
       %%
       Arg = body(Arg0, Sub0),
  -    ScopeSub0 = sub_subst_scope(Sub0#sub{t=[]}),
  +    ScopeSub0 = sub_subst_scope(Sub0#sub{t=#{}}),
       {OuterVs,ScopeSub} = pattern_list(OuterVs0, ScopeSub0),
   
       OuterBody = body(OuterBody0, ScopeSub),
  
positive.code: -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
      end;
  get_type(C, _) ->
      case cerl:type(C) of
  
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;
  