       is_binary(unquote(doc)) or
       unquote(doc) == :doc_nil or
       (is_tuple(unquote(doc)) and
-       elem(unquote(doc), 0) in [:doc_cons, :doc_nest, :doc_break, :doc_group,
-                                 :doc_color, :doc_line, :doc_next_fits])
+       elem(unquote(doc), 0) in [:doc_string, :doc_cons, :doc_nest, :doc_break,
+                                 :doc_group, :doc_color, :doc_line, :doc_next_fits])
     end
   end
 

          | doc_group
          | doc_color
          | doc_next_fits
          | binary

  @typep doc_cons :: {:doc_cons, t, t}
  defmacrop doc_cons(left, right) do

      iex> doc = Inspect.Algebra.glue(String.duplicate("a", 20), " ", "b")
      iex> Inspect.Algebra.format(doc, 10)
      ["aaaaaaaaaaaaaaaaaaaa", "\n", "b"]

  This module uses the byte size to compute how much space there is
  left. If your document contains strings, then those need to be
  wrapped in `string/1`, which then relies on `String.length/1` to
  precompute the document size.

  Finally, this module also contains Elixir related functions, a bit
  tied to Elixir formatting, namely `surround/3` and `surround_many/5`.
