anchor.diff:      end.
   
   collect_type_info(Module, _Type, TypeInfo) ->
  -    {ok, {Module, [{abstract_code, {raw_abstract_v1, AbstractCode}}]}}
  -        = beam_lib:chunks(code:which(Module), [abstract_code]),
  +    {ok, {Module, [{abstract_code, {_AbstVersion, AbstractCode}}]}}
  +        = beam_lib:chunks(code:where_is_file(atom_to_list(Module) ++ ".beam"), [abstract_code]),
       lists:foldl(fun (Chunk, InnerTypeInfo) ->
                           parse_chunk(Chunk, Module, InnerTypeInfo)
                   end, TypeInfo, AbstractCode).
  
positive.code: run_helper(Module, Func, Iterations, {'fun', ArgType, _ResultType} = FunType, TypeInfo) ->
      Size = 30,
      Args = create_value(ArgType, Size, TypeInfo),
      case (try
                erlang:apply(Module, Func, Args)
            catch
                throw:Term -> {exception, Term};
                exit:Reason -> {exception, Reason};
                error:Reason -> {exception, {Reason, erlang:get_stacktrace()}} 
            end) of
          true ->
              run_helper(Module, Func, Iterations - 1, FunType, TypeInfo);
          X ->
              ?ct_fail("error ~p:~p(~p) failed with ~p~n", [Module, Func, Args, X])
      end.
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
negative.code:                     {value, _} ->
                          TypeInfo;
                      none ->
                          {ok, {Module, [{abstract_code, {_AbstVersion, AbstractCode}}]}}
                              = beam_lib:chunks(code:where_is_file(atom_to_list(Module) ++ ".beam"), [abstract_code]),
                          lists:foldl(fun (Chunk, InnerTypeInfo) ->
                                              parse_chunk(Chunk, Module, InnerTypeInfo)
                                      end, TypeInfo, AbstractCode)
  