     nil
   end
 
-  defp translate_assertion(kind, {_, _, [left, right]} = expr, call, message, true, caller) do
+  defp translate_assertion(kind, {_, _, [left, right]} = expr, call, message, true, _caller) do
     expr = escape_quoted(kind, expr)
 
     quote do

    |> elem(1)
  end

  defp collect_vars_used_in_expression({name, _meta, context} = _var, _existing_vars)
       when is_atom(name) and is_atom(context) do
    []
  end

  defp collect_vars_used_in_expression(expr, existing_vars) do
    {_ast, vars} =
      Macro.prewalk(expr, [], fn
        {name, _meta, nil} = var, acc when is_atom(name) ->
          if {name, nil} in existing_vars do
            {:ok, [{name, var} | acc]}
          else
            {:ok, acc}
          end
        other, acc ->
          {other, acc}
      end)

    vars
    |> Enum.reverse()
    |> Enum.uniq_by(&elem(&1, 0))
  end

  defp no_warning({name, meta, [expr, [do: clauses]]}) do
    clauses = Enum.map clauses, fn {:->, meta, args} ->
      {:->, [generated: true] ++ meta, args}

    end
  end

  defp translate_assertion(kind, {_, _, [left, right]} = expr, call, message, false, _caller) do
    expr = escape_quoted(kind, expr)

    quote do
