diff --git a/docs/design/README.md b/docs/design/README.md index 4a7a3d71d152..04aea1f93637 100644 --- a/docs/design/README.md +++ b/docs/design/README.md @@ -698,10 +698,11 @@ A `let`-binding may trigger a copy of the original value, or a move if the original value is a temporary, or the binding may be a pointer to the original value, like a [`const` reference in C++](). -Which option must not be observable to the programmer. For example, Carbon will -not allow modifications to the original value when it is through a pointer. This -choice may also be influenced by the type. For example, types that don't support -being copied will be passed by pointer instead. +Which of these options (copy, move, or pointer) is selected must not be +observable to the programmer. For example, Carbon will not allow modifications +to the original value when it is through a pointer. This choice may also be +influenced by the type. For example, types that don't support being copied will +be passed by pointer instead. A [generic binding](#checked-and-template-parameters) uses `:!` instead of a colon (`:`) and can only match