let ready = true;
let name = String::from("prod");
// *** before: ***
let value = if ready { Some(name) } else { None };
let lazy = ready.then(|| name.len()); // значение всегда через замыкание
// *** in version 1.62: ***
let value = ready.then_some(name); // готовое значение - без замыкания
let lazy = ready.then(|| expensive()); // замыкание там, где счёт дорогой