       tl([:one])
       #=> []
 
-      tl([:a, :b | :c])
-      #=> [:b | :c]
+      tl([:a, :b | :improper_end])
+      #=> [:b | :improper_end]
 
       tl([:a | %{b: 1}])
       #=> %{b: 1}

  @doc """
  Returns the tail of a list. Raises `ArgumentError` if the list is empty.

  It works with improper lists.

  Allowed in guard tests. Inlined by the compiler.

  @doc """
  Returns the head of a list. Raises `ArgumentError` if the list is empty.

  The head of a list is its first element.

  It works with improper lists.

  Allowed in guard tests. Inlined by the compiler.
