diff --git a/clippy_lints/src/types.rs b/clippy_lints/src/types.rs
index b21c37392659..6b63f2b1f0a2 100644
--- a/clippy_lints/src/types.rs
+++ b/clippy_lints/src/types.rs
@@ -99,14 +99,32 @@ declare_clippy_lint! {
/// represents an optional optional value which is logically the same thing as an optional
/// value but has an unneeded extra level of wrapping.
///
+ /// If you have a case where `Some(Some(_))`, `Some(None)` and `None` are distinct cases,
+ /// consider a custom `enum` instead, with clear names for each case.
+ ///
/// **Known problems:** None.
///
/// **Example**
- /// ```rust
- /// fn x() -> Option