anchor.diff:        {enter_type(Arg, NewArgType, Map1), Ret}
     end.
   
  -bind_type_test(Eval, TypeTest, ArgType, State) ->
  -  Type = case TypeTest of
  -	   is_atom -> t_atom();
  -	   is_boolean -> t_boolean();
  -	   is_binary -> t_binary();
  -	   is_bitstring -> t_bitstr();
  -	   is_float -> t_float();
  -	   is_function -> t_fun();
  -	   is_integer -> t_integer();
  -	   is_list -> t_maybe_improper_list();
  -	   is_map -> t_map();
  -	   is_number -> t_number();
  -	   is_pid -> t_pid();
  -	   is_port -> t_port();
  -	   is_reference -> t_reference();
  -	   is_tuple -> t_tuple()
  -	 end,
  +bind_type_test(Eval, Type, ArgType, State) ->
     case Eval of
       pos ->
         Inf = t_inf(Type, ArgType, State#state.opaques),
  
positive.code:     dont_know ->
        {ok, ArgType, t_boolean()}
    end.
  
  handle_guard_comp(Guard, Comp, Map, Env, Eval, State) ->
    Args = cerl:call_args(Guard),
  
negative.code: 	 cerl:atom_val(cerl:call_name(Guard)),
  	 cerl:call_arity(Guard)},
    case MFA of
      {erlang, is_function, 2} ->
        handle_guard_is_function(Guard, Map, Env, Eval, State);
      {erlang, F, 3} when F =:= internal_is_record; F =:= is_record ->
        handle_guard_is_record(Guard, Map, Env, Eval, State);
      {erlang, '=:=', 2} ->
        handle_guard_eqeq(Guard, Map, Env, Eval, State);
  