Suppose `C` defines an instance method named `talk`. `C.instance_method(:talk)` captures that method without choosing a particular `C` object to receive it. The result is an unbound method object: it must be bound to an eligible object before it can be called. section 14.3.1
Capture, bind, and call
Given `class C; def talk; puts "self is #{self}"; end; end`, run `unbound = C.instance_method(:talk)`. Then `unbound.bind(C.new).call` executes `talk` with that new instance as `self`. An instance of a subclass of `C` can be used too. section 14.3.1
Contrast this with `c.method(:talk)`: that call captures a bound `Method` object whose receiver is already `c`. Calling it uses `c` as `self`. You could call `unbind` on that object, but `C.instance_method(:talk)` gets the unbound method directly from the class. Binding is restricted to an instance of `C` or one of its subclasses. section 14.3.1
The name reflects where `talk` is defined: an instance method is available to instances of its class, not just one object. That differs from a method defined on a particular object, and from a class method called on the class object itself. section 3.1.1 section 3.6.5
