undefine_method/3undefine_method(+Obj, +Name, +Arity)
Removes Obj's current instance method for the Name/Arity message. After executing this goal, sending this message to Obj executes the class's default method for the message.
Name/Arity must have been declared to be an instance method for the class of Obj.
If Obj has no current instance method for the Name/Arity message, the predicate has no effect.
instantiation_errortype_errorObj is not a compound term, Name is not an atom, or Arity
is not an integer.
domain_errorMessage does not specify an instance method for the class of Obj.
define_method/3, instance_method/1