fails:Module#define_method when given an UnboundMethod passes the given arguments to the new method
fails:Module#define_method when given an UnboundMethod adds the new method to the methods list
fails:Module#define_method when given an UnboundMethod defining a method on a singleton class doesn't raise TypeError when calling the method
fails:Module#define_method defines the given method as an instance method with the given name in self
fails:Module#define_method calls #method_added after the method is added to the Module
fails:Module#define_method raises an ArgumentError when no block is given
fails:Module#define_method is private
fails:Module#define_method method body is an UnboundMethod allows methods defined on a different object
fails:Module#define_method when name is :initialize given an UnboundMethod sets the visibility to private when method is named :initialize
fails:Method#define_method when passed a Method object defines a method with the same #arity as the original
fails:Method#define_method when passed a Method object defines a method with the same #parameters as the original
fails:Method#define_method when passed an UnboundMethod object defines a method with the same #arity as the original
fails:Method#define_method when passed an UnboundMethod object defines a method with the same #parameters as the original
