code: public SmartHandle drop(int index, String newName, Class<?> type) {
          return new SmartHandle(signature.insertArg(index, newName, type), MethodHandles.dropArguments(handle, index, type));
      }
docs: Drop an argument from the handle at the given index, returning a new
  SmartHandle.
  
  @param index index before which the dropped argument goes
  @param newName name of the argument
  @param type type of the argument
  @return a new SmartHandle with the additional argument