anchor.diff:        Fun :: fun((Anno) -> NewAnno),
         Anno :: erl_anno:anno(),
         NewAnno :: erl_anno:anno(),
  -      Abstr :: erl_parse_tree(),
  -      NewAbstr :: erl_parse_tree().
  +      Abstr :: erl_parse_tree() | form_info(),
  +      NewAbstr :: erl_parse_tree() | form_info().
   
   map_anno(F0, Abstr) ->
       F = fun(A, Acc) -> {F0(A), Acc} end,
  
positive.code:       Acc1 :: term(),
        AccIn :: term(),
        AccOut :: term(),
        Abstr :: erl_parse_tree().
  
  fold_anno(F0, Acc0, Abstr) ->
      F = fun(A, Acc) -> {A, F0(A, Acc)} end,
  
negative.code:     NewAbstr.
  
  -spec anno_to_term(Abstr) -> term() when
        Abstr :: erl_parse_tree() | form_info().
  
  anno_to_term(Abstract) ->
      F = fun(Anno, Acc) -> {erl_anno:to_term(Anno), Acc} end,
      {NewAbstract, []} = modify_anno1(Abstract, [], F),
      NewAbstract.
  
  -spec anno_from_term(Term) -> erl_parse_tree() | form_info() when
        Term :: term().
  
  anno_from_term(Term) ->
  