anchor.diff:      {var,0,list_to_atom(get_attrval(name, E))}.
   
   ot_atom(E) ->
  -    {ok, [Atom], _} = erl_scan:string(get_attrval(value, E), 0),
  -    Atom.
  +    {ok, [{atom,A,Name}], _} = erl_scan:string(get_attrval(value, E), 0),
  +    {atom,erl_anno:line(A),Name}.
   
   ot_integer(E) ->
       {integer,0,list_to_integer(get_attrval(value, E))}.
  
positive.code: 
  pp_type(Prefix, Type) ->
      Atom = list_to_atom(lists:duplicate(iolist_size(Prefix), $a)),
      L1 = erl_pp:attribute({attribute,0,type,{Atom,ot_utype(Type),[]}}),
      {L2,N} = case lists:dropwhile(fun(C) -> C =/= $: end, lists:flatten(L1)) of
                   ":: " ++ L3 -> {L3,9}; % compensation for extra "()" and ":"
                   "::\n" ++ L3 -> {"\n"++L3,6}
  
negative.code: %%
  %% %CopyrightBegin%
  %%
  %% Copyright Ericsson AB 1996-2015. All Rights Reserved.
  %%
  %% The contents of this file are subject to the Erlang Public License,
  %% Version 1.1, (the "License"); you may not use this file except in
  