prepare for 4.0.0-alpha-1 release (tweak wording in various places)
diff --git a/site/src/site/releasenotes/groovy-4.0.adoc b/site/src/site/releasenotes/groovy-4.0.adoc
index 0e0aa9f..03aaedc 100644
--- a/site/src/site/releasenotes/groovy-4.0.adoc
+++ b/site/src/site/releasenotes/groovy-4.0.adoc
@@ -185,8 +185,8 @@
 --------------------------------------
 
 Here, the `NV` macro method springs into action during the compilation process.
-The compiler replaces the apparent global `NV` method with a `println` statement
-which outputs the variables name and `toString()` value.
+The compiler replaces the apparent global `NV` method call with an expression
+which combines the names and `toString()` values of the supplied variables.
 
 Two other variations exist. `NVI` calls Groovy's `inspect()` method rather than
 `toString()` and `NVD` calls Groovy's `dump()` method. So this code:
@@ -238,7 +238,7 @@
 This feature is used in numerous places within the Groovy codebase for testing purposes.
 Various code snippets are compiled using both Java and Groovy to ensure the compiler is behaving as intended.
 We also use this feature to provide a productivity enhancement for polyglot developers allowing
-Java code to be run (as Java) within the Groovy Console:
+Java code to be compiled and/or run (as Java) from within the Groovy Console:
 
 image:img/groovyconsole_run_as_java.png[image] +
 
@@ -261,11 +261,16 @@
 in situations where Java might become confused by Groovy's "plumbing" methods.
 
 The feature is incubating. Currently, the presence of the annotation should be
-treated like a hint to the compiler to produce bytecode not relying on the Groovy runtime
-if it can but not a guarantee. Users of `@CompileStatic` will know that certain dynamic
+treated like a _hint_ to the compiler to produce bytecode not relying on the
+Groovy runtime if it can, but _not a guarantee_.
+
+Users of `@CompileStatic` will know that certain dynamic
 features aren't possible when they switch to static Groovy.
-Even so, while the desire is to produce Java-like code,
-there are numerous Groovy feature which still work for some scenarios.
+They might expect that using `@CompileStatic` and `@POJO`
+might result in even more restrictions.
+This isn't strictly the case.
+Adding `@POJO` does result in more Java-like code in certain places,
+but numerous Groovy features still work.
 
 Consider the following example. First a Groovy `Point` class:
 
@@ -291,6 +296,9 @@
 }
 --------------------------------------
 
+We can compile those classes using `groovyc` in the normal way
+and should see the expected _Point.class_ and _PointList.class_ files produced.
+
 We can then compile the following Java code.
 We do not need the Groovy jars available for `javac` or `java`,
 we only need the class files produced from the previous step.
@@ -317,7 +325,8 @@
 
 Note that while our `PointList` class has numerous list methods available
 (`size`, `contains`, `forEach`, `stream`, etc.) courtesy of Groovy's `@Delegate` transform,
-these are baked into the class file, not calling into any Groovy library or runtime code.
+these are baked into the class file, and the bytecode produced doesn't call
+into any Groovy libraries or rely on any runtime code.
 
 When run, the following output is produced: