diff --git a/doc/manual/expressions/language-constructs.xml b/doc/manual/expressions/language-constructs.xml
index f961ed921..923b5d8c4 100644
--- a/doc/manual/expressions/language-constructs.xml
+++ b/doc/manual/expressions/language-constructs.xml
@@ -217,7 +217,25 @@ but can also be written as:
   ellipsis(...) as you can access attribute names as 
   a, using args.a, which was given as an
   additional attribute to the function.
-  
+  
+
+  
+   
+    The args@ expression is bound to the argument passed to the function which
+    means that attributes with defaults that aren't explicitly specified in the function call
+    won't cause an evaluation error, but won't exist in args.
+   
+   
+    For instance
+
+let
+  function = args@{ a ? 23, ... }: args;
+in
+ function {}
+
+    will evaluate to an empty attribute set.
+   
+