anchor.diff:  check_def(S) ->
       case re:run(S, "^\\s*(fun|var|dim)\\s+(\\w+)", [{capture, [2],list}]) of
           {match, [Name]} ->
  -            {Name, Def} = get_name(parse_line(S)),
  -            {def, {Name, Def}};
  +            {Name, Type, Def} = get_name(parse_line(S)),
  +            {def, {Name, Type, Def}};
           nomatch ->
               {query, parse_line(S)}
       end.
  
positive.code:             do_line(L ++ Line, S)
      end.
  
  do_line(L, #state{defs = Defs, cache = C, tstamp = TStamp} = S) ->
      try check_line(L) of
          empty ->
              S;
          {def, {Name, _} = D} ->
              NewDefs = lists:keystore(Name, 1, Defs, D),
              S#state{defs = NewDefs};
          {query, Q} ->
  
negative.code:     {Lines, Files} = arg_parse(Args, [], []),
      S0 = load_files(Files, #state{}),
      error_logger:tty(false),
      new_cache(),
      case Lines of
          [] ->
              interactive(S0);
  