code: public SmartHandle invoke(SmartHandle target) {
          return new SmartHandle(start, binder.invoke(target.handle()));
      }
docs: Terminate this binder by invoking the given target handle. The signature
  of this binder is not compared to the signature of the given
  SmartHandle.
  
  @param target the handle to invoke
  @return a new SmartHandle with this binder's starting signature, bound
  through to the given handle