fails:Module#method_defined? returns true if a public or private method with the given name is defined in self, self's ancestors or one of self's included modules
fails:Module#method_defined? raises a TypeError when the given object is not a string/symbol/fixnum
fails:Module#method_defined? converts the given name to a string using to_str
