diff --git a/doc/LPC/operators b/doc/LPC/operators
index 911007b..24b3618 100644
--- a/doc/LPC/operators
+++ b/doc/LPC/operators
@@ -189,6 +189,12 @@
                         used as the file_name of an object, and calls
                         the function 'name' in this object.
 
+        expr1.name(...) The operator form of call_strict(). 'expr1'
+                        gives either an object or a string which is
+                        used as the file name of an object, and calls
+                        the function 'name' in this object. Throws
+                        an error, if the function does not exist.
+
         ident::name(...)
                         Call the inherited function 'name' with the
                         given parameters in the parent 'ident'.
@@ -208,6 +214,7 @@
         LDMud 3.2.9 added '>>>', '>>>=', '&&=' and '||='.
         LDMud 3.2.10 extended '&' to mappings.
         LDMud 3.3 extended '|' and '^' to arrays.
+        LDMud 3.6.2 added '.'.
 
 SEE ALSO
         arrays(LPC), alists(LPC), mappings(LPC), closures(LPC)
diff --git a/doc/LPC/structs b/doc/LPC/structs
index 0774e18..a53029a 100644
--- a/doc/LPC/structs
+++ b/doc/LPC/structs
@@ -113,10 +113,11 @@
         in the same literal.
 
 
-        A struct member is accessed using the -> operator:
+        A struct member is accessed using the . and -> operators:
 
             struct Foo var = ...;
 
+            var.one = 1;
             var->one = 1;
 
 
@@ -125,24 +126,14 @@
             struct Foo bar = ...;
             string member = "one";
 
+            bar.(member)  = 1; // Sets bar.one to 1
+            bar.(0) = 1;       // Sets bar.one to 1
             bar->(member) = 1; // sets bar->one to 1
             bar->(0) = 1;      // sets bar->one to 1
 
 
-        When using struct values held in variables/expressions of type
-        'mixed', the 'mixed' value should to be casted to the struct
-        value. The cast can be omitted if the looked-up member exists
-        in only one struct (and its children) known to the compiler:
-
-            struct Foo { int one; };
-            struct Bar { int two; };
-            struct Baz { int two; };
-            mixed var;
-
-                        var->one  // looks up Foo->one
-            (struct Foo)var->one  // looks up Foo->one
-                        var->two  // ERROR: ambiguous lookup
-            (struct Bar)var->one  // looks up Bar->one
+        If the given member does not exist, the -> operator will return 0,
+        but the . operator will throw an error.
 
 
 USAGE IN CLOSURES
@@ -219,6 +210,8 @@
         The implementation was revised in LDMud 3.3.344.
         The reactivation of unchanged structs in object updates was
         implemented in LDMud 3.3.417.
+        In LDMud 3.6.2 the . operator for struct member access was introduced
+        and the -> operator changed into a relaxed access operation.
 
 
 SEE ALSO
