diff --git a/sdk/lib/math/random.dart b/sdk/lib/math/random.dart
index fd75e12..35fdd14 100644
--- a/sdk/lib/math/random.dart
+++ b/sdk/lib/math/random.dart
@@ -10,6 +10,24 @@
 /// not suitable for cryptographic purposes.
 ///
 /// Use the [Random.secure]() constructor for cryptographic purposes.
+///
+/// To create a non-negative random integer uniformly distributed in the range
+/// from 0, inclusive, to max, exclusive, use [nextInt(int max)].
+/// ```dart
+/// var intValue = Random().nextInt(10); // Value is >= 0 and < 10.
+/// intValue = Random().nextInt(100) + 50; // Value is >= 50 and < 150.
+/// ```
+/// To create a non-negative random floating point value uniformly distributed
+/// in the range from 0.0, inclusive, to 1.0, exclusive, use [nextDouble].
+/// ```dart
+/// var doubleValue = Random().nextDouble(); // Value is >= 0.0 and < 1.0.
+/// doubleValue = Random().nextDouble() * 256; // Value is >= 0.0 and < 256.0.
+/// ```
+/// To create a random Boolean value, use [nextBool].
+/// ```dart
+/// var boolValue = Random().nextBool(); // true or false, with equal chance.
+/// ```
+///
 abstract class Random {
   /// Creates a random number generator.
   ///
@@ -29,12 +47,29 @@
   ///
   /// Implementation note: The default implementation supports [max] values
   /// between 1 and (1<<32) inclusive.
+  ///
+  /// Example:
+  /// ```dart
+  /// var intValue = Random().nextInt(10); // Value is >= 0 and < 10.
+  /// intValue = Random().nextInt(100) + 50; // Value is >= 50 and < 150.
+  /// ```
   int nextInt(int max);
 
   /// Generates a non-negative random floating point value uniformly distributed
   /// in the range from 0.0, inclusive, to 1.0, exclusive.
+  ///
+  /// Example:
+  /// ```dart
+  /// var doubleValue = Random().nextDouble(); // Value is >= 0.0 and < 1.0.
+  /// doubleValue = Random().nextDouble() * 256; // Value is >= 0.0 and < 256.0.
+  /// ```
   double nextDouble();
 
   /// Generates a random boolean value.
+  ///
+  /// Example:
+  /// ```dart
+  /// var boolValue = Random().nextBool(); // true or false, with equal chance.
+  /// ```
   bool nextBool();
 }
diff --git a/tools/VERSION b/tools/VERSION
index f4bb13a..237ad2c 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 17
 PATCH 0
-PRERELEASE 51
+PRERELEASE 52
 PRERELEASE_PATCH 0
\ No newline at end of file
diff --git a/tools/verify_docs/bin/verify_docs.dart b/tools/verify_docs/bin/verify_docs.dart
index 8cba35f..ebe1ce7 100755
--- a/tools/verify_docs/bin/verify_docs.dart
+++ b/tools/verify_docs/bin/verify_docs.dart
@@ -270,8 +270,8 @@
         template = 'none';
       } else if (hasTopDeclaration) {
         template = 'top';
-      } else if (lines.length == 1 && !lines.first.trim().endsWith(';')) {
-        // If single line with no trailing `;`, assume expression.
+      } else if (lines.length == 1 && !lines.first.contains(';')) {
+        // If single line with no `;`, assume expression.
         template = 'expression';
       } else {
         // Otherwise default to `main`.
