-# Implements functions that only makes sense to lists
-# and cannot be part of the Enum protocol. In general,
-# favor using the Enum API instead of List.
-#
-# A decision was taken to delegate most functions to
-# Erlang's standard lib. Small performance gains
-# might be acquired by re-implementing them in Elixir.
 defmodule List do
+  @moduledoc """
+  Implements functions that only make sense for lists
+  and cannot be part of the Enum protocol. In general,
+  favor using the Enum API instead of List.
+
+  A decision was taken to delegate most functions to
+  Erlang's standard lib. Small performance gains
+  might be acquired by re-implementing them in Elixir.
+  """
+
   # Bifs: member/2, reverse/2
   # Bifs: keymember/3, keysearch/3, keyfind/3
 

  end

  @doc """
  Appends the list of lists all the given lists together.

  ## Examples

      List.append [[1,[2],3], [4], [5,6]]
      #=> [1,[2],3,4,5,6]

  """

  end

  @doc """
  Prepends the items from the list of the left to the list on the right.
  Note that items are prepended in reverse order. This function does not modify
  the tail and therefore does not duplicate the entries in memory.

  ## Examples

