anchor.diff:    {maps, put, [Key, Value, Map]};
   rewrite(?map, 'replace!', [Map, Key, Value]) ->
     {maps, update, [Key, Value, Map]};
  +rewrite(?port, monitor, [Arg]) ->
  +  {erlang, monitor, [port, Arg]};
  +rewrite(?process, group_leader, [Pid, Leader]) ->
  +  {erlang, group_leader, [Leader, Pid]};
   rewrite(?process, monitor, [Arg]) ->
     {erlang, monitor, [process, Arg]};
  -rewrite(?process, group_leader, [Pid, Leader]) ->
  -  {erlang, group_leader, [Leader, Pid]};
   rewrite(?process, send_after, [Dest, Msg, Time]) ->
     {erlang, send_after, [Time, Dest, Msg]};
   rewrite(?process, send_after, [Dest, Msg, Time, Opts]) ->
     {erlang, send_after, [Time, Dest, Msg, Opts]};
  -rewrite(?port, monitor, [Arg]) ->
  -  {erlang, monitor, [port, Arg]};
   rewrite(?string, to_atom, [Arg]) ->
     {erlang, binary_to_atom, [Arg, utf8]};
   rewrite(?string, to_existing_atom, [Arg]) ->
     {erlang, binary_to_existing_atom, [Arg, utf8]};
  -rewrite(?tuple, insert_at, [Tuple, Index, Term]) ->
  -  {erlang, insert_element, [increment(Index), Tuple, Term]};
   rewrite(?tuple, delete_at, [Tuple, Index]) ->
     {erlang, delete_element, [increment(Index), Tuple]};
   rewrite(?tuple, duplicate, [Data, Size]) ->
     {erlang, make_tuple, [Size, Data]};
  +rewrite(?tuple, insert_at, [Tuple, Index, Term]) ->
  +  {erlang, insert_element, [increment(Index), Tuple, Term]};
   rewrite(Receiver, Fun, Args) ->
     {Receiver, Fun, Args}.
   
  
positive.code: inline(?kernel, trunc, 1) -> {erlang, trunc};
  inline(?kernel, tuple_size, 1) -> {erlang, tuple_size};
  
  inline(?map, keys, 1) -> {maps, keys};
  inline(?map, merge, 2) -> {maps, merge};
  inline(?map, size, 1) -> {maps, size};
  inline(?map, values, 1) -> {maps, values};
  inline(?map, to_list, 1) -> {maps, to_list};
  
  inline(?node, list, 0) -> {erlang, nodes};
  inline(?node, list, 1) -> {erlang, nodes};
  
negative.code: -define(string_chars, 'Elixir.String.Chars').
  -define(system, 'Elixir.System').
  -define(tuple, 'Elixir.Tuple').
  
  %% Inline
  
  