anchor.diff:              %% Unfurl up to the tag, then accumulate it
               [{T0, A0, [destack(Pre ++ [T]) | Acc0]} | Post]
       end.
  -    
  +
   destack([{Tag, Attrs, Acc}]) ->
       {Tag, Attrs, lists:reverse(Acc)};
   destack([{T1, A1, Acc1}, {T0, A0, Acc0} | Rest]) ->
  
positive.code:         tokens(<<"<foo bar=baz wibble='wibble' alice=bob/>">>),
      [{comment, <<"[if lt IE 7]>\n<style type=\"text/css\">\n.no_ie { display: none; }\n</style>\n<![endif]">>}] =
          tokens(<<"<!--[if lt IE 7]>\n<style type=\"text/css\">\n.no_ie { display: none; }\n</style>\n<![endif]-->">>),
      ok.
  
  tokens(B, S=#decoder{offset=O}, Acc) ->
  
negative.code:     attrs_to_html(Rest,
                    [[<<" ">>, escape(K), <<"=\"">>,
                      escape_attr(V), <<"\"">>] | Acc]).
  
  test_escape() ->
      <<"&amp;quot;\"word &lt;&lt;up!&amp;quot;">> =
          escape(<<"&quot;\"word <<up!&quot;">>),
  