       File.dir?("~/Downloads")
       #=> false
 
-      "~/Downloads" |> Path.expand |> File.dir?
+      "~/Downloads" |> Path.expand() |> File.dir?()
       #=> true
 
   """


  ## Examples

      File.open("file.txt", [:read, :write], fn(file) ->
        IO.read(file, :line)
      end)


  ## Examples

      # Copies file "a.txt" to "b.txt"
      File.cp_r("a.txt", "b.txt")

      # Copies all files in "samples" to "tmp"
      File.cp_r("samples", "tmp")

      # Same as before, but asks the user how to proceed in case of conflicts
      File.cp_r("samples", "tmp", fn source, destination ->
        IO.gets("Overwriting #{destination} by #{source}. Type y to confirm. ") == "y\n"
      end)

  """
  @spec cp_r(Path.t(), Path.t(), (Path.t(), Path.t() -> boolean)) ::
