 
   """
   @spec line(t, t) :: t
-  def line(doc1, doc2), do: concat(doc1, concat(:doc_line, doc2))
+  def line(doc1, doc2), do: concat(doc1, concat(line(), doc2))
 
   @doc ~S"""
   Folds a list of documents into a document using the given folder function.

  def space(doc1, doc2), do: concat(doc1, concat(" ", doc2))

  @doc ~S"""
  Inserts a mandatory linebreak between two documents.

  ## Examples

      iex> doc = Inspect.Algebra.line("Hughes", "Wadler")

  @spec fits?(integer, [{integer, mode, t}]) :: boolean
  defp fits?(w, _) when w < 0,                      do: false
  defp fits?(_, []),                                do: true
  defp fits?(_, [{_, m, :doc_line} | _]),           do: m != :flat
  defp fits?(w, [{_, _, :doc_nil} | t]),            do: fits?(w, t)
  defp fits?(w, [{i, m, doc_cons(x, y)} | t]),      do: fits?(w, [{i, m, x} | [{i, m, y} | t]])
  defp fits?(w, [{i, m, doc_color(x, _)} | t]),     do: fits?(w, [{i, m, x} | t])
