anchor.diff:  
   -define(POLL_DELAY, 10).
   -define(MASK, 16#4000410A). %ISDIR, CREATE, CLOSE_WRITE, Q_OVERFLOW, MODIFY
  +
  +watch_file(Pid, Path) -> Pid ! {watch_file, Path}.
  +watch_folders(Pid, Folders) -> Pid ! {watch_folders, Folders}.
  +
   
   start_link({Folders, Parent}) -> gen_server:start_link(?MODULE, {Folders, Parent}, []).
   
  
positive.code: 
      case file:list_dir(AbsFolder) of
          {error, enotdir} -> 
              recurse_folders(Fd, T, Acc);
  
          {error, enoent} when IsDir -> 
              {UnicodeName, Wd} = watch_file(Fd, AbsFolder),
              recurse_folders(Fd, T, Acc#{Wd=> UnicodeName});
  
          {error, _} -> 
              recurse_folders(Fd, T, Acc);
  
          {ok, Files} ->
              {UnicodeName, Wd} = watch_file(Fd, AbsFolder),
              Files2 = [filename:join(AbsFolder, unicode:characters_to_binary(X)) || X <- Files],
              recurse_folders(Fd, T++Files2, Acc#{Wd=> UnicodeName})
      end
      .
  
  
negative.code:     {ok, #{inotify_fd=> Fd, parent=> Parent, wd_lookup=> #{}}}.
  
  
  recurse_folders(Fd, []) -> done;
  recurse_folders(Fd, [Folder|T]) ->
      AbsFolder = filename:absname(unicode:characters_to_binary(Folder)),
      IsDir = filelib:is_dir(AbsFolder),
  
  