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:             tokenize_cdata(B, ?ADV_COL(S, 9));
          <<_:O/binary, "<?php", _/binary>> ->
              {Body, S1} = raw_qgt(B, ?ADV_COL(S, 2)),
              {{pi, Body, []}, S1};
          <<_:O/binary, "<?", _/binary>> ->
              {Tag, S1} = tokenize_literal(B, ?ADV_COL(S, 2)),
              {Attrs, S2} = tokenize_attributes(B, S1),
  