anchor.diff:  %
   % TODO create the string directly instead of calling unicode.
   transform({string, Line, String } = Expr, F, V, S) ->
  -  Binary = ?ELIXIR_WRAP_CALL(Line, erlang, list_to_binary, [Expr]),
  -  { build_object(Line, 'String', [{bin, Binary}]), V };
  +  { build_object(Line, 'String', [{bin, build_bin(Line, [Expr])}]), V };
   
   % Handle interpolated atoms by converting them to lists and calling atom_to_list.
   %
  
positive.code:     [{s, String}] -> handle_string_extractions(hd(Interpolations), Line, F, V, S);
      _ ->
        Transformer = fun(X, Acc) -> handle_string_extractions(X, Line, F, Acc, S) end,
        { List, VE } = build_list(Transformer, Interpolations, Line, V),
        { ?ELIXIR_WRAP_CALL(Line, erlang, list_to_binary, [List]), VE }
    end.
  
  % Handle string extractions for interpolated strings.
  
negative.code: % Variables can be defined inside the interpolation.
  transform({interpolated_atom, Line, String}, F, V, S) ->
    { Flattened, VE } = handle_interpolations(String, Line, F, V, S),
    Binary = ?ELIXIR_WRAP_CALL(Line, erlang, list_to_binary, [Flattened]),
    { ?ELIXIR_WRAP_CALL(Line, erlang, binary_to_atom, [Binary, {atom, Line, utf8}]), VE };
  
  % Handle regexps by dispatching a list and its options to Regexp.new.
  %
  