Do literals (e.g. array literals, string literals, etc.) invoke the
Class#new method?  I tried to figure this out for myself, but the
following code doesn't do what I expected it to.  It replaces the
Class#new method with a customized version which prints out "new
invoked!", but nothing is printed to the console when I run this
program.  So, two questions:

1) Do literals invoke new?
2) What's wrong with the code below?

# Replace standard new with custom new
class Class
	alias_method :old_new,  :new

	def new(*args)
		result = old_new(*args)
		puts "new invoked!"
		return result
	end
end

# Test to see if literals invoke new
aString = "hello"
anArray = [1,2,3]
anotherArray = Array.new