Bagaimana seharusnya seseorang menggunakan std :: opsional?

Saya membaca dokumentasi std::experimental::optionaldan saya punya ide bagus tentang apa fungsinya, tetapi saya tidak mengerti kapan saya harus menggunakannya atau bagaimana saya harus menggunakannya. Situs ini belum berisi contoh apa pun yang membuat saya lebih sulit memahami konsep sebenarnya...