       calls_in_this_block = any_value |> List.wrap
 
       calls_in_this_block
+      #|> IO.inspect
       |> Enum.any?(&valid_call_to_string_mod?(&1, call_to_string, last_call_in_def, calls_in_this_block))
     end
   end

      CodeHelper.contains_child?(arguments, call_to_string)
    end
  end
  defp valid_call_to_string_mod?(_ast, _call_to_string, _last_call_in_def, _calls_in_block_above) do
    false
  end

  defp valid_call_to_string_mod_in_block?({:__block__, _meta, calls_in_this_block}, _ast, call_to_string, last_call_in_def, _calls_in_block_above) do
    #IO.puts IO.ANSI.format [:green, "Block separation (__block__)!"]
    #IO.inspect block
    #IO.puts ""

    calls_in_this_block

      end
    end
  end
  defp valid_call_to_string_mod?({:|>, _, arguments} = ast, call_to_string, last_call_in_def, _calls_in_block_above) do
    #IO.puts IO.ANSI.format [:yellow, ":|>"]
    # We are in a pipe chain that is NOT the last call in the method
    # and that is NOT part of an assignment.
    # This is fine, as long as the call to String is not the last element
    # in the pipe chain.
    if CodeHelper.contains_child?(last_call_in_def, ast) && CodeHelper.contains_child?(ast, call_to_string) do
      true
    else
      List.last(arguments) != call_to_string
    end
  end
  defp valid_call_to_string_mod?({:++, _, _arguments} = ast, call_to_string, last_call_in_def, _calls_in_block_above) do
    #IO.puts IO.ANSI.format [:yellow, ":++"]
    CodeHelper.contains_child?(last_call_in_def, ast) && CodeHelper.contains_child?(ast, call_to_string)
  end
  defp valid_call_to_string_mod?({_atom, _meta, arguments} = ast, call_to_string, last_call_in_def, calls_in_block_above) do
    if fn_in_arguments?(ast) do
