anchor.diff:    { Expr, NV } = Fun(H, V),
     build_list_each(Fun, T, Line, NV, { cons, Line, Expr, Acc }).
   
  +% Build binaries
  +build_bin(Line, Exprs) ->
  +  Transformer = fun (X) -> { bin_element, Line, X, default, default } end,
  +  { bin, Line, lists:map(Transformer, Exprs) }.
  +
   % Build if/elsif/else clauses by nesting then one inside the other.
   % Assumes expressions were already converted.
   build_if_clauses({if_clause, Line, Bool, Expr, List}, Acc) ->
  
positive.code: % Variables can be defined inside the interpolation.
  transform({interpolated_string, Line, String }, F, V, S) ->
    { Flattened, VE } = handle_interpolations(String, Line, F, V, S),
    { build_object(Line, 'String', [{bin, Flattened}]), VE };
  
  % Handle strings by wrapping them in the String object. A string is created
  % by explicitly creating an #elixir_object and not through String.new.
  
negative.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,
        build_list(Transformer, Interpolations, Line, V)
    end.
  
  % Handle string extractions for interpolated strings.
  