       iex> Enum.any?([], fn x -> x > 0 end)
       false
 
-  If no function is given, the truthiness of each element is checked during iteration.
-  When an element has a truthy value (neither `false` nor `nil`) iteration stops
-  immediately and `true` is returned. In all other cases `false` is returned.
-
-      iex> Enum.any?([false, false, false])
-      false
-
-      iex> Enum.any?([false, true, false])
-      true
-
-      iex> Enum.any?([])
-      false
-
   """
   @spec any?(t, (element -> as_boolean(term))) :: boolean
-
-  def any?(enumerable, fun \\ fn x -> x end)
-
   def any?(enumerable, fun) when is_list(enumerable) do
     any_list(enumerable, fun)
   end

  end

  @doc """
  Returns `true` if `fun.(element)` is truthy for all elements in `enumerable`.

  Iterates over `enumerable` and invokes `fun` on each element. If `fun` ever


  ## all?

  defp all_list([h | t]) do
    if h do
      all_list(t)
    else
      false
    end
  end

  defp all_list([]) do
    true
  end

  defp all_list([h | t], fun) do
    if fun.(h) do
      all_list(t, fun)
