 
   @doc """
   Appends the list on the right to the list on the left.
-  If the list on the left contains only one element, the
-  we simply add it as a head as an optimization. This
-  function does the same as the `++` operator.
-
-  ## Examples
-
-      List.append [1,2,3], [4,5,6]
+
+  This function produces the same result the `++` operator. The only difference
+  is a minor optimization: when the first list contains only one element, we
+  simply add it as a head to the second list.
+
+  FIXME: prosing to rename it to 'splice'
+
+  ## Examples
+
+      List.splice [1,2,3], [4,5,6]
       #=> [1,2,3,4,5,6]
 
   """
+  def append([h], elements) when is_list(elements) do
+    [h|elements]
+  end
+
   def append(list, elements) when is_list(list) and is_list(elements) do
     list ++ elements
   end
 
   @doc """
-  Flattens the given `list` of lists. An optional
+  Flattens the given `list` of nested lists. An optional
   tail can be given that will be added at the end of
   the flattened list.
 

  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

