anchor.diff:  build_block(Exprs) ->
     {'__block__', [], Exprs}.
   
  -annotate_newlines({_, {_, _, Count}}, {Left, Meta, Right}) when is_list(Meta) ->
  +%% End of line and newlines
  +
  +eol_pair(Token) ->
  +  case ?formatter_metadata() of
  +    true ->
  +      case ?location(Token) of
  +        {_Line, _Pair, eol} -> [{eol, true}];
  +        _ -> []
  +      end;
  +    false ->
  +      []
  +  end.
  +
  +set_eol(Token) ->
  +  {Line, Column, nil} = ?location(Token),
  +  setelement(2, Token, {Line, Column, eol}).
  +
  +annotate_newlines({_, {_, _, Count}}, {Left, Meta, Right}) when is_integer(Count), is_list(Meta) ->
     case ?formatter_metadata() of
       true -> {Left, [{newlines, Count} | Meta], Right};
       false -> {Left, Meta, Right}
  
positive.code: build_stab(Meta, [], Marker, Temp, Acc) ->
    H = {'->', Meta, [Marker, build_block(reverse(Temp))]},
    reverse([H | Acc]).
  
  %% Every time the parser sees a (unquote_splicing())
  %% it assumes that a block is being spliced, wrapping
  
negative.code:   {Op, meta_from_location(Location), [Expr]}.
  
  build_list(Marker, Args) ->
    {handle_literal(Args, Marker, eol_pair(Marker)), ?location(Marker)}.
  
  build_tuple(Marker, [Left, Right]) ->
    handle_literal({Left, Right}, Marker, eol_pair(Marker));
  build_tuple(Marker, Args) ->
    {'{}', eol_pair(Marker) ++ meta_from_token(Marker), Args}.
  
  build_bit(Marker, Args) ->
    {'<<>>', eol_pair(Marker) ++ meta_from_token(Marker), Args}.
  
  build_map(Marker, Args) ->
    {'%{}', eol_pair(Marker) ++ meta_from_token(Marker), Args}.
  
  build_map_update(Marker, {Pipe, Left, Right}, Extra) ->
    Op = build_op(Pipe, Left, Right ++ Extra),
    {'%{}', eol_pair(Marker) ++ meta_from_token(Marker), [Op]}.
  
  %% Blocks
  
  