anchor.diff:  pp_clause(Pre, Type) ->
       Types = ot_utype([Type]),
       Atom = lists:duplicate(iolist_size(Pre), $a),
  -    L1 = erl_pp:attribute({attribute,0,spec,{{list_to_atom(Atom),0},[Types]}}),
  +    Attr = {attribute,0,spec,{{list_to_atom(Atom),0},[Types]}},
  +    L1 = erl_pp:attribute(erl_parse:new_anno(Attr)),
       "-spec " ++ L2 = lists:flatten(L1),
       L3 = Pre ++ lists:nthtail(length(Atom), L2),
       re:replace(L3, "\n      ", "\n", [{return,list},global]).
  
positive.code:     {var,0,list_to_atom(get_attrval(name, E))}.
  
  ot_atom(E) ->
      {ok, [Atom], _} = erl_scan:string(get_attrval(value, E), 0),
      Atom.
  
  ot_integer(E) ->
      {integer,0,list_to_integer(get_attrval(value, E))}.
  
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
  