diff --git a/library/core/src/option.rs b/library/core/src/option.rs
index a1f0224c7791..9789912719b1 100644
--- a/library/core/src/option.rs
+++ b/library/core/src/option.rs
@@ -159,25 +159,18 @@
//!
//! ## Querying the variant
//!
-//! The [`is_some`] and [`is_none`] methods take a borrow of the [`Option`]
+//! The [`is_some`] and [`is_none`] methods borrow of the [`Option`]
//! and return [`true`] if the [`Option`] is [`Some`] or [`None`], respectively.
//!
-//! The [`is_some_and`] and [`is_none_or`] methods take ownership of the [`Option`]
-//! and apply the provided function to make a decision.
-//! The methods return the same boolean value as the function returns.
+//! The [`is_some_and`] and [`is_none_or`] methods apply the provided function
+//! to the contents of the [`Option`] to produce a boolean value.
+//! If this is [`None`] then a default result is returned instead without executing the function.
//!
//! [`is_none`]: Option::is_none
//! [`is_some`]: Option::is_some
//! [`is_some_and`]: Option::is_some_and
//! [`is_none_or`]: Option::is_none_or
//!
-//! ## Inspecting the variant
-//!
-//! The [`inspect`] method takes ownership of the [`Option`]
-//! and applies the provided function to the contained value by reference if [`Some`]
-//!
-//! [`inspect`]: Option::inspect
-//!
//! ## Adapters for working with references
//!
//! * [`as_ref`] converts from [&][][Option]\ to [Option]<[&]T>
@@ -190,9 +183,9 @@
//! [Option]<[Pin]<[&]T>>
//! * [`as_pin_mut`] converts from [Pin]<[&mut] [Option]\> to
//! [Option]<[Pin]<[&mut] T>>
-//! * [`as_slice`] returns a slice of the contained value, if any.
+//! * [`as_slice`] returns a one-element slice of the contained value, if any.
//! If this is [`None`], an empty slice is returned.
-//! * [`as_mut_slice`] returns a mutable slice of the contained value, if any.
+//! * [`as_mut_slice`] returns a mutable one-element slice of the contained value, if any.
//! If this is [`None`], an empty slice is returned.
//!
//! [&]: reference "shared reference"
@@ -219,8 +212,7 @@
//! (which must implement the [`Default`] trait)
//! * [`unwrap_or_else`] returns the result of evaluating the provided
//! function
-//! * [`unwrap_unchecked`] returns the contained value, without checking
-//! calling this method on None is *[undefined behavior]*
+//! * [`unwrap_unchecked`] produces *[undefined behavior]*
//!
//! [`expect`]: Option::expect
//! [`unwrap`]: Option::unwrap
@@ -253,8 +245,9 @@
//! * [`filter`] calls the provided predicate function on the contained
//! value `t` if the [`Option`] is [`Some(t)`], and returns [`Some(t)`]
//! if the function returns `true`; otherwise, returns [`None`]
-//! * [`flatten`] removes one level of nesting from an
-//! [`Option