anchor.diff:            {unicode:chardata(), Pos :: non_neg_integer()}.
   
   render_element({IgnoreMe,_,Content}, State, Pos, Ind,D)
  -  when IgnoreMe =:= a; IgnoreMe =:= anno ->
  +  when IgnoreMe =:= a ->
       render_docs(Content, State, Pos, Ind,D);
   
  -%% Catch h1, h2 and h3 before the padding is done as there reset padding
  +%% Catch h1, h2 and h3 before the padding is done as they reset padding
   render_element({h1,_,Content},State,0 = Pos,_Ind,D) ->
       trimnlnl(render_element({code,[],[{em,[],Content}]}, State, Pos, 0, D));
   render_element({h2,_,Content},State,0 = Pos,_Ind,D) ->
  
positive.code:         {NewT,true} ->
              {[Tag | NewT],true};
          {T,false} ->
              {NewContent,NewState} = trim_last(Content,What),
              {[{Elem,Attr,NewContent}|T],NewState}
      end;
  trim_last([],_What) ->
      {[],false}.
  
negative.code:                   io_columns = element(2,io:columns())
                  }).
  
  -define(ALL_ELEMENTS,[a,p,'div',br,h1,h2,h3,i,em,pre,code,ul,ol,li,dl,dt,dd]).
  %% inline elements are:
  -define(INLINE,[i,em,code,a]).
  -define(IS_INLINE(ELEM),(((ELEM) =:= a) orelse ((ELEM) =:= code)
                           orelse ((ELEM) =:= i) orelse ((ELEM) =:= em))).
  %% non-inline elements are:
  -define(BLOCK,[p,'div',pre,br,ul,ol,li,dl,dt,dd,h1,h2,h3]).
  -define(IS_BLOCK(ELEM),not ?IS_INLINE(ELEM)).
  -define(IS_PRE(ELEM),(((ELEM) =:= pre))).
  
  -type chunk_element_type() :: a | p | 'div' | i | br | em | pre | code | ul |
                                ol | li | dl | dt | dd | h1 | h2 | h3.
  -type chunk_element_attr() :: {atom(),unicode:chardata()}.
  -type chunk_element_attrs() :: [chunk_element_attr()].
  -type chunk_element() :: {chunk_element_type(),chunk_element_attrs(),
  