       rhs:  10
 
   This module also provides other convenience functions
-  like `assert_in_delta` and `assert_raise` to easily handle other
-  common cases such as checking a floating point number or handling exceptions.
-  """
-
-  @doc """
-  Asserts its argument is `true`.
-
-  `assert` tries to be smart and provide good
-  reporting whenever there is a failure. In particular, if
-  given a match expression, it will report any failure in terms
-  of that match. Given
-
-      assert [one] = [two]
-
-  you'll see:
-
-      match (=) failed
-      code: [one] = [two]
-      rhs:  [2]
-
-  If the expression is a comparison operator, the message
+  like `assert_in_delta` and `assert_raise` to easily handle
+  other common cases such as checking a floating point number
+  or handling exceptions.
+  """
+
+  @doc """
+  Asserts its argument is a truth value.
+
+  `assert` instrospects the underlying expression and provide
+  good  reporting whenever there is a failure. For example,
+  if the expression uses the comparison operator, the message
   will show the values of the two sides. The assertion
 
       assert 1+2+3+4 > 15

  end

  @doc """
  This is a negative assertion, failing if its parameter
  is truthy.

  ## Examples


      code: 1+2+3+4 > 15
      lhs:  10
      rhs:  15

  Similarly, if a match expression is given, it will report
  any failure in terms of that match. Given

      assert [one] = [two]

  you'll see:

      match (=) failed
      code: [one] = [two]
      rhs:  [2]

  Keep in mind that `assert` does not change its semantics
  based on the expression. In other words, the expression
  is still required to return a truth value. For example,
  the following will fail:

      assert nil = some_function_that_returns_nil()

  Even though the match works, `assert` still expects a truth
  value. In such cases, simply use `Kernel.==/2` or
  `Kernel.match?/2`.
  """
  defmacro assert({:=, _, [left, right]} = assertion) do
    code = Macro.escape(assertion)
