code: function callHook(vnode3) {
  		var original = vnode3.state
  		try {
  			return this.apply(original, arguments)
  		} finally {
  			checkState(vnode3, original)
  		}
  	}
docs: Note: the hook is passed as the `this` argument to allow proxying the arguments without requiring a full array allocation to do so. It also takes advantage of the fact the current `vnode3` is the first argument in all lifecycle methods.