fails:Module#define_method when name is not a special private name given an UnboundMethod and called from the target module sets the visibility of the method to the current visibility
fails:Module#define_method when name is not a special private name passed a block and called from the target module sets the visibility of the method to the current visibility
fails:Module#define_method does not use the caller block when no block is given
fails:Module#define_method returns its symbol
fails:Module#define_method allows an UnboundMethod of a Kernel method retrieved from Object to defined on a BasicObject subclass
