diff --git a/doc/efun/call_strict b/doc/efun/call_strict
new file mode 100644
index 0000000..fbf6bd3
--- /dev/null
+++ b/doc/efun/call_strict
@@ -0,0 +1,50 @@
+SYNOPSIS
+        unknown call_strict(object|string ob, string func, ...)
+        unknown call_strict(object*|string* ob, string func, ...)
+
+        ob.fun(...)
+        ob->"fun"(...)
+        ob->(fun)(...)
+
+DESCRIPTION
+        Similar to call_other(). Call a member function <fun> in another
+        object <ob> if the function is defined and publicly accessible.
+        Any of the optional extra arguments are passed to the function.
+        Result is the value returned from the called function.
+
+        ob.fun(args) and ob."fun"(args) are equivalent to
+        call_strict(ob, "fun", args).
+        "ob_name".fun(args) and "ob_name"."fun"(args) are equivalent to
+        call_strict("ob_name", "fun", args);
+        ob.(fun)(args) is equivalent to call_strict(ob, fun, args),
+        "ob_name".(fun)(args) is equivalent to
+        call_strict("ob_name", fun, args).
+
+        If ob::fun does not define a publicly accessible function, the
+        efun will call the H_DEFAULT_METHOD hook if set. If the hook
+        is not set or can't resolve the call either, the efun will raise
+        a runtime error.
+
+        Calls to the master object never use the H_DEFAULT_METHOD hook.
+        To force non-default calls, the efun call_direct_strict() can
+        be used.
+
+        ob can also be an object_name. If a string is passed for ob
+        and an object with that name can't be found or loaded, an
+        error occurs.
+
+        Additionally the efun accepts an array of objects as <ob>: the
+        function is called with the same arguments in all the given objects.
+        The single results are collected in an array and yield the final
+        result. Array elements can be objects or the names of existing
+        objects. If a call to any of the objects failes, the efun will
+        raise a runtime error.
+
+HISTORY
+        Introduced in LDMud 3.6.2.
+
+SEE ALSO
+        call_other(E), call_resolved(E), call_direct(E),
+        call_direct_strict(E), call_direct_resolved(E),
+        create(A), pragma(LPC), extern_call(E), function_exists(E),
+        functions(LPC), map_objects(E)
