anchor.diff:      to_tokens([{Tag0, R1} | Rest], [T0 | Acc]);
   to_tokens([{Tag0, [T0={comment, _C0} | R1]} | Rest], Acc) ->
       %% Allow {comment, iolist()}
  -    to_tokens([{Tag0, R1} | Rest], [T0 | Acc]);
  -to_tokens([{Tag0, [T0={pi, _S0} | R1]} | Rest], Acc) ->
  -    %% Allow {pi, binary()}
       to_tokens([{Tag0, R1} | Rest], [T0 | Acc]);
   to_tokens([{Tag0, [T0={pi, _S0, _A0} | R1]} | Rest], Acc) ->
       %% Allow {pi, binary(), list()}
  
positive.code:     lists:reverse(Acc);
  to_html([{'=', Content} | Rest], Acc) ->
      to_html(Rest, [Content | Acc]);
  to_html([{pi, Bin} | Rest], Acc) ->
      Open = [<<"<?">>,
              Bin,
              <<"?>">>],
      to_html(Rest, [Open | Acc]);
  to_html([{pi, Tag, Attrs} | Rest], Acc) ->
      Open = [<<"<?">>,
              Tag,
  
negative.code:     tree(Rest, append_stack_child(norm({Tag, Attrs}), S));
  tree([{start_tag, Tag, Attrs, false} | Rest], S) ->
      tree(Rest, stack(norm({Tag, Attrs}), S));
  tree([T={pi, _Tag, _Attrs} | Rest], S) ->
      tree(Rest, append_stack_child(T, S));
  tree([T={comment, _Comment} | Rest], S) ->
  