   @spec break(binary) :: doc_break
   def break(s) when is_binary(s), do: doc_break(s)
 
+  @doc """
+  Returns a document entity representing the default break.
+
+  Same as calling `break/1` with the default break.
+  """
   @spec break() :: doc_break
   def break(), do: doc_break(@break)
 
   @doc """
-  Inserts a break between two docs. See `break/1` for more info.
+  Glues two documents together inserting the default break between them.
+
+  The break that is inserted between `x` and `y` is the one returned by
+  `break/0`.
+
+  ## Examples
+
+      iex> doc = Inspect.Algebra.glue("hello", "world")
+      iex> Inspect.Algebra.format(doc, 80)
+      ["hello", " ", "world"]
+
   """
   @spec glue(t, t) :: doc_cons
   def glue(x, y), do: concat(x, concat(break(), y))
 
   @doc """
-  Inserts a break, passed as the second argument, between two docs,
-  the first and the third arguments.
+  Glues two docs (`x` and `y`) together inserting the given break `g` between
+  them.
+
+  For more information on how the break is inserted, see `break/1`.
+
+  ## Examples
+
+      iex> doc = Inspect.Algebra.glue("hello", "\t", "world")
+      iex> Inspect.Algebra.format(doc, 80)
+      ["hello", "\t", "world"]
+
   """
   @spec glue(t, binary, t) :: doc_cons
   def glue(x, g, y) when is_binary(g), do: concat(x, concat(break(g), y))

  ## Examples

      iex> doc = Inspect.Algebra.space "Hughes", "Wadler"
      iex> Inspect.Algebra.format(doc, 80)
      ["Hughes", " ", "Wadler"]

  """

  @doc ~S"""
  Surrounds a document with characters.

  Puts the given document `doc` between the `left` and `right` strings enclosing
  and nesting it. The document is marked as a group, to show the maximum as
  possible concisely together.

  ## Examples

