anchor.diff:          true ->
               E
       end;
  -unhide_calls({call,A,{remote,L,{atom,L,m},{atom,L,f}}=F,Args}, MaxLine, D) ->
  -    Line = erl_anno:line(A),
  +unhide_calls({call,Anno,{remote,A,{atom,A,m},{atom,A,f}}=F,Args},
  +             MaxLine, D) ->
  +    Line = erl_anno:line(Anno),
       if
           Line > MaxLine ->
               {call,Atom} = map_get(Line, D),
  -            {call,L,Atom,unhide_calls(Args, MaxLine, D)};
  +            {call,A,Atom,unhide_calls(Args, MaxLine, D)};
           true ->
  -            {call,A,F,unhide_calls(Args, MaxLine, D)}
  +            {call,Anno,F,unhide_calls(Args, MaxLine, D)}
       end;
   unhide_calls(T, MaxLine, D) when is_tuple(T) -> 
       list_to_tuple(unhide_calls(tuple_to_list(T), MaxLine, D));
  
positive.code: hide({value,L,V}, Id, D) ->
      A = erl_anno:new(Id),
      {{atom,A,ok}, Id+1, maps:put(Id, {value,L,V}, D)};
  hide({call,L,{atom,_,N}=Atom,Args}, Id0, D0) ->
      {NArgs, Id, D} = hide(Args, Id0, D0),
      C = case erl_internal:bif(N, length(Args)) of
              true ->
                  {call,L,Atom,NArgs};
              false -> 
                  A = erl_anno:new(Id),
                  {call,A,{remote,L,{atom,L,m},{atom,L,f}},NArgs}
          end,
      {C, Id+1, maps:put(Id, {call,Atom}, D)};
  hide(T0, Id0, D0) when is_tuple(T0) -> 
  
negative.code:         20 -> fun (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T) ->
             eval_fun([A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T], Info) end;
  	_Other ->
              L = erl_anno:location(Anno),
  	    erlang:raise(error, {'argument_limit',{'fun',L,to_terms(Cs)}},
  			 ?STACKTRACE)
      end,
      ret_expr(F, Bs, RBs);
  expr({named_fun,Anno,Name,Cs} = Ex, Bs, Lf, Ef, RBs) ->
      %% Save only used variables in the function environment.
      %% {value,L,V} are hidden while lint finds used variables.
      {Ex1, _} = hide_calls(Ex, 0),
  