diff --git a/documentation/current/method/void-safe-programming-eiffel/creating-new-void-safe-project.wiki b/documentation/current/method/void-safe-programming-eiffel/creating-new-void-safe-project.wiki
index 44ea028a..bdc9038d 100644
--- a/documentation/current/method/void-safe-programming-eiffel/creating-new-void-safe-project.wiki
+++ b/documentation/current/method/void-safe-programming-eiffel/creating-new-void-safe-project.wiki
@@ -93,6 +93,9 @@ So, a call using make_filled would look like this:
Upon creation, each element of the array will reference the same object; an object of type STRING composed of one space character.
+{{note|Full void-safety on arrays of attached types requires a change to class ARRAY which can break existing code. During a transitional period, this and similar changes are available for testing and use in an "experimental" version of EiffelStudio. This version of EiffelStudio can be invoked by using the "-experiment" option from the command line, or by selecting it on Microsoft Windows by following the '''Start''' menu path to EiffelStudio. You are encouraged to try to compile your libraries and systems using experimental mode in order to prepare for the time when these changes are made permanent.}}
+
+
==Using the ''attribute'' keyword carefully==
The keyword attribute is should be used with some care. You might be tempted to think that it would be convenient or add an extra element of safety to use self-initializing attributes widely. And in a way, you would be correct. But you should also understand that there is a price to pay for using self-initializing attributes and stable attributes. It is that upon every access, an evaluation of the state of the attribute must be made. So, as a general rule, you should avoid using self-initializing attributes only for the purpose of lazy initialization.
@@ -270,7 +273,7 @@ As with the other examples of the '''attached syntax''', it is no longer necessa
===Use of check instructions===
-You might wonder about the use of a CAP which employs a check instruction like this:
+Technically speaking, check instructions are not CAPs. But they are useful in cases in which an entity is always expected to be attached at a certain point in the code. In the following example, the attribute my_detachable_any is detachable. But at the particular point at which it is the source of the assignment to l_result, it is expected always to be attached. If it is not attached at the time of the assignment, and therefore l_result becomes void, then an exception should occur. The check instruction provides this behavior.
my_detachable_any: detachable ANY
@@ -287,7 +290,7 @@ You might wonder about the use of a CAP which employs a check instr
end
-The assertion in the check guarantees that l_result is attached at the time of its assignment to Result. If my_detachable_any had not been attached, then an exception would have occurred.
+You might wonder about the use of a check instruction in the situation above. Specifically, the assertion in the check guarantees that l_result is attached at the time of its assignment to Result. If my_detachable_any had not been attached, then an exception would have occurred.
This would be fine in ''workbench'' code, but what happens if the code is ''finalized'' and assertions are discarded?