anchor.diff:  
   
   %% =====================================================================
  -%% @spec is_fun_name(Name:: string())-> bool()
  +%% @spec is_fun_name(Name:: string())-> boolean()
   %% @doc Return true if a name is lexically a function name.
   
  --spec(is_fun_name(Name:: string())-> bool()).
  +-spec(is_fun_name(Name:: string())-> boolean()).
   is_fun_name(Name) ->
       case Name of
         [H | T] -> is_lower(H) and is_var_name_tail(T);
  
positive.code:     end.
  
  %% =====================================================================
  %% @spec is_var_name(Name:: string())-> bool()
  %% @doc Return true if a string is lexically a  variable name.
  
  -spec(is_var_name(Name:: string())-> bool()).
  
  is_var_name(Name) ->
      case Name of
  
negative.code: 
  %% =====================================================================
  %% @spec stop_tdTP(Function, Tree::syntaxTree(), Others::[term()])->  syntaxTree()
  %%       Function = (syntaxTree(),{term()}) -> {syntaxTree(), boolean()}
  %%
  %% @doc Stop-topdown type-preserving traversal of the abstract syntax tree.
  %% This function does a pre-order traversal of the abstract syntax tree, and
  