 
   Works like `raise/1` but does not generate a new stacktrace.
 
-  Notice that `System.stacktrace` returns the stacktrace
+  Notice that `System.stacktrace/0` returns the stacktrace
   of the last exception. That said, it is common to assign
   the stacktrace as the first expression inside a `rescue`
   clause as any other exception potentially raised (and
   rescued) in between the rescue clause and the raise call
-  may change the `System.stacktrace` value.
+  may change the `System.stacktrace/0` value.
 
   ## Examples
 

      iex> "foo" <> "bar"
      "foobar"

  The `<>` operator can also be used in guard clauses as
  long as the first part is a literal binary:

      iex> "foo" <> x = "foobar"
      iex> x
      "bar"

  """
  defmacro left <> right do
    concats = extract_concatenations({:<>, [], [left, right]})
    quote do: << unquote_splicing(concats) >>
  end

  # Extracts concatenations in order to optimize many


      iex> true and false
      false
      iex> true and "yay!"
      "yay!"

  """
  defmacro left and right do
