 
   """
   @spec sort_by(t, (element -> mapped_element),
-    (mapped_element, mapped_element -> boolean))
-    :: list when mapped_element: element
+                (mapped_element, mapped_element -> boolean))
+                :: list when mapped_element: element
 
   def sort_by(enumerable, mapper, sorter \\ &<=/2) when is_function(sorter, 2) do
     enumerable

      [3, 6, 9]

  """
  @spec into(Enumerable.t, Collectable.t, (term -> term))
    :: Collectable.t

  def into(enumerable, collectable, transform)
      when is_list(collectable) and is_function(transform, 1) do


  @doc """
  Splits the `enumerable` into two enumerables, leaving `count`
  elements in the first one.

  If `count` is a negative number, it starts counting from the
  back to the beginning of the enumerable.

  Be aware that a negative `count` implies the `enumerable`
  will be enumerated twice: once to calculate the position, and
