anchor.diff:  -type filename() :: file:name().
   -type dirname() :: filename().
   
  +-type filename_all() :: file:name_all().
  +-type dirname_all() :: filename_all().
  +
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
   -spec wildcard(Wildcard) -> [file:filename()] when
  
positive.code: %% ensures that the directory name required to create D exists
  
  -spec ensure_dir(Name) -> 'ok' | {'error', Reason} when
        Name :: filename() | dirname(),
        Reason :: file:posix().
  ensure_dir("/") ->
      ok;
  
negative.code:     ?HANDLE_ERROR(do_wildcard(Pattern, Cwd, Mod)).
  
  -spec is_dir(Name) -> boolean() when
        Name :: filename_all() | dirname_all().
  is_dir(Dir) ->
      do_is_dir(Dir, file).
  
  -spec is_dir(file:name_all(), atom()) -> boolean().
  is_dir(Dir, Mod) when is_atom(Mod) ->
      do_is_dir(Dir, Mod).
  
  -spec is_file(Name) -> boolean() when
        Name :: filename_all() | dirname_all().
  is_file(File) ->
      do_is_file(File, file).
  
  -spec is_file(file:name_all(), atom()) -> boolean().
  is_file(File, Mod) when is_atom(Mod) ->
      do_is_file(File, Mod).
  
  -spec is_regular(Name) -> boolean() when
        Name :: filename_all().
  is_regular(File) ->
      do_is_regular(File, file).
      
  -spec is_regular(file:name_all(), atom()) -> boolean().
  is_regular(File, Mod) when is_atom(Mod) ->
      do_is_regular(File, Mod).
      
  