You can take a method from one instance and move it to another instance
with
me = cls.method(:mymthd) <== get hold of the method
unbnd = me.unbind <== unbind it from the class
newinst = NewClass.new <== create instance of a subclass of cls
unbnd.bind(newinst).call <== bind the method to the instance of
NewClass
I know it isn’t copying it but is shows the mobility of unbound
methods. Not sure if you can copy it while it is an unbound method?