   @tail_separator " |"
   @newline "\n"
   @break :flex
+  @cancel_break :enabled
 
   # Functional interface to "doc" records
 

      unquote(doc) in [:doc_nil, :doc_line] or
      (is_tuple(unquote(doc)) and
       elem(unquote(doc), 0) in [:doc_string, :doc_cons, :doc_nest, :doc_break, :doc_group,
                                 :doc_color, :doc_force_break, :doc_cancel_break])
    end
  end


    quote do: {:doc_group, unquote(group)}
  end

  @typep doc_cancel :: {:doc_cancel, t, :enabled | :disabled}
  defmacrop doc_cancel(group, mode) do
    quote do: {:doc_cancel, unquote(group), unquote(mode)}
  end

  @typep doc_force :: {:doc_force, t}
  defmacrop doc_force(group) do
    quote do: {:doc_force, unquote(group)}
  end

  @typep doc_color :: {:doc_color, t, IO.ANSI.ansidata}
