diff --git a/doc/hook/create_lwobject b/doc/hook/create_lwobject
index 8872e73..0a1e023 100644
--- a/doc/hook/create_lwobject
+++ b/doc/hook/create_lwobject
@@ -11,14 +11,17 @@
 
 DESCRIPTION
         Optional hooks to initialize a lightweight object after creation.
-        Hook setting can be unbound lambda closures, or the name of the
-        function (static or public) to call in the object.
+        Hook setting can be any closure, or the name of the function
+        (static or public) to call in the object.
 
-        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 new_lwobject() call.
-        If the hook is a closure without arguments, it is bound to
-        the object to be initalized and called.
+        If the hook is an unbound lambda 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
+        new_lwobject() call. If the hook is an unbound lambda closure
+        without arguments, it is bound to the object to be initalized and
+        called. If the hook is any other type of closure, it is called
+        with the created object as the first argument and any further
+        arguments from the new_lwobject() call.
 
         If the hook is defined as the name of an lfun in the lightweight
         object, it is called in the new lwobject with any further arguments
@@ -28,4 +31,5 @@
         LDMud 3.6.5 introduced lightweight objects.
 
 SEE ALSO
-        hooks(C), create_ob(H), create_super(H), create_clone(H)
+        hooks(C), create_lwobject_copy(H), create_lwobject_restore(H),
+        create_ob(H), create_super(H), create_clone(H)
