diff --git a/doc/hook/clone_uids b/doc/hook/clone_uids
index 8d85790..a60ae93 100644
--- a/doc/hook/clone_uids
+++ b/doc/hook/clone_uids
@@ -33,4 +33,4 @@
 HISTORY
 
 SEE ALSO
-        hooks(C), uids(C), load_uids(H)
+        hooks(C), uids(C), load_uids(H), lwobject_uids(H)
diff --git a/doc/hook/create_clone b/doc/hook/create_clone
index 3b349b7..e8dac03 100644
--- a/doc/hook/create_clone
+++ b/doc/hook/create_clone
@@ -5,18 +5,19 @@
 
         <value> being:
 
-          void <name> (0)
+          void <name>   (...)
           int <closure> ( void )
-          int <closure> (object obj_to_init)
+          int <closure> (object obj_to_init, ...)
 
 DESCRIPTION
         Optional hooks to initialize a cloned object after creation.
         Hook setting can be unbound lambda closures, or the name of
         the function (static or public) to call in the object.
 
-        If the hook is a closure expecting an argument, it is bound
-        to the current object and called with the created object as
-        argument. If the hook is a closure without arguments, it is bound to
+        If the hook is a closure expecting arguments, it is bound to the
+        current object and called with the created object as the first
+        argument and any further arguments from the clone_object() call.
+        If the hook is a closure without arguments, it is bound to
         the object to be initalized and called.
 
         If the result of the closure call is a non-zero number, it is used
@@ -24,11 +25,12 @@
         interval computed from TIME_TO_RESET is used.
 
         If the hook is defined as the name of an lfun in the object,
-        it is called in the object with 0 as argument, and any result
-        is ignored.
+        it is called in the object with any further arguments from the
+        clone_object() call, and any result is ignored.
 
 HISTORY
         LDMud 3.2.10 allowed static functions to be given by name.
+        LDMud 3.6.5 removed the argument given for the lfun call.
 
 SEE ALSO
-        hooks(C), create_ob(H), create_super(H)
+        hooks(C), create_ob(H), create_super(H), create_lwobject(H)
diff --git a/doc/hook/create_ob b/doc/hook/create_ob
index 3bb8798..204a1f9 100644
--- a/doc/hook/create_ob
+++ b/doc/hook/create_ob
@@ -5,7 +5,7 @@
 
         <value> being:
 
-          void <name> (0)
+          void <name>   ( void )
           int <closure> ( void )
           int <closure> (object obj_to_init)
 
@@ -25,11 +25,12 @@
         interval computed from TIME_TO_RESET is used.
 
         If the hook is defined as the name of an lfun in the object,
-        it is called in the object with 0 as argument and any result
+        it is called in the object with no argument and any result
         is ignored.
 
 HISTORY
         LDMud 3.2.10 allowed static functions to be given by name.
+        LDMud 3.6.5 removed the argument given for the lfun call.
 
 SEE ALSO
-        hooks(C), create_super(H), create_clone(H)
+        hooks(C), create_super(H), create_clone(H), create_lwobject(H)
diff --git a/doc/hook/create_super b/doc/hook/create_super
index 0e51a4b..0f05542 100644
--- a/doc/hook/create_super
+++ b/doc/hook/create_super
@@ -5,7 +5,7 @@
 
         <value> being:
 
-          void <name> (0)
+          void <name>   ( void )
           int <closure> ( void )
           int <closure> (object obj_to_init)
 
@@ -26,11 +26,12 @@
         interval computed from TIME_TO_RESET is used.
 
         If the hook is defined as the name of an lfun in the object,
-        it is called in the object with 0 as argument and any result
+        it is called in the object with no argument and any result
         is ignored.
 
 HISTORY
         LDMud 3.2.10 allowed static functions to be given by name.
+        LDMud 3.6.5 removed the argument given for the lfun call.
 
 SEE ALSO
-        hooks(C), create_ob(H), create_clone(H)
+        hooks(C), create_ob(H), create_clone(H), create_lwobject(H)
diff --git a/doc/hook/default_method b/doc/hook/default_method
index 9f3cbab..54d4be7 100644
--- a/doc/hook/default_method
+++ b/doc/hook/default_method
@@ -13,14 +13,14 @@
         calls. Hook setting can be any closure, or the name of the
         function to call in the object.
 
-        This hook is called whenever a call_other(), call_resolved()
-        or call_out() on named function (as opposed to a closure)
-        couldn't be resolved. The hook has then the opportunity to
-        provide a default implementation.
+        This hook is called whenever a call_other(), call_resolved(),
+        call_strict() or call_out() on named function (as opposed to
+        a closure) couldn't be resolved. The hook has then the
+        opportunity to provide a default implementation.
 
         Exempt from this behaviour are calls to the master object, to
-        simul-efuns, and calls done with call_direct() and
-        call_direct_resolved().
+        simul-efuns, and calls done with call_direct(),
+        call_direct_resolved() and call_strict_resolved().
 
         If the hook is the name of an lfun, it is called in the target
         object; otherwise if it is a closure, the target object is
diff --git a/doc/hook/load_uids b/doc/hook/load_uids
index 7221dd5..d340dd0 100644
--- a/doc/hook/load_uids
+++ b/doc/hook/load_uids
@@ -32,4 +32,4 @@
 HISTORY
 
 SEE ALSO
-        hooks(C), uids(C), clone_uids(H)
+        hooks(C), uids(C), clone_uids(H), lwobject_uids(H)
diff --git a/doc/hook/reset b/doc/hook/reset
index dcb1c9d..5021991 100644
--- a/doc/hook/reset
+++ b/doc/hook/reset
@@ -6,7 +6,7 @@
         <value> being:
 
           void|int <closure> ( void )
-          void <name>(1)
+          void <name>( void )
 
 DESCRIPTION
         Optional hook to reset an object. Hook setting can be unbound
@@ -23,7 +23,7 @@
         be reset again, unless directed otherwise by set_next_reset().
 
         If the hook is defined as the name of an lfun in the object,
-        it is called in the object with 1 as argument, and any result
+        it is called in the object with no argument, and any result
         is ignored. In this call the previous_object() is the object
         initiating the reset. If the function does not exist, the
         object won't be reset again.
@@ -33,6 +33,7 @@
 
 HISTORY
         LDMud 3.2.10 allowed static functions to be given by name.
+        LDMud 3.6.5 removed the argument given for the lfun call.
 
 SEE ALSO
         hooks(C)
