anchor.diff:      escape(Rest, [C | Acc]).
   
   escape_attr([], Acc) ->
  -    lists:reverse(Acc);
  +    list_to_binary(lists:reverse(Acc));
   escape_attr("<" ++ Rest, Acc) ->
       escape_attr(Rest, lists:reverse("&lt;", Acc));
   escape_attr(">" ++ Rest, Acc) ->
  
positive.code:     find_gt(Rest, ?INC_CHAR(S, C), HasSlash).
  
  tokenize_charref([], S, Acc) ->
      {{data, lists:reverse(Acc), false}, [], S};
  tokenize_charref(Rest=">" ++ _, S, Acc) ->
      {{data, lists:reverse(Acc), false}, Rest, S};
  tokenize_charref(Rest=[C | _], S, Acc) when ?IS_WHITESPACE(C) 
                                              orelse C =:= ?SQUOTE
                                              orelse C =:= ?QUOTE
                                              orelse C =:= $/ ->
      {{data, lists:reverse(Acc), false}, Rest, S};
  tokenize_charref(";" ++ Rest, S, Acc) ->
      Raw = lists:reverse(Acc),
      Data = case mochiweb_charref:charref(Raw) of
  
negative.code:     %% Native {"p", [{"class", "foo"}], ["content"]}
      Tag = to_tag(Tag0),
      T1 = to_tag(T0),
      case is_singleton(norm(T1)) of
          true ->
              to_tokens([{Tag, R1} | Rest], [{start_tag, T1, A1, true} | Acc]);
          false ->
  