Хабр Курсы для всех
РЕКЛАМА
Большая витрина: от крупнейших школ до частных авторов. Сравнивайте по цене, длительности, формату и выбирайте самый подходящий курс!

Рисовать исправленную имплементацию конечно хорошо, но примеров использования определённо не хватает. Например, вот тут
Во-первых, мы передаём дефолтное значение как замыкание. Это важно: во второй версии код справа от
??выполнится только при отсутствии значения в опционале.
Это должно быть что-то вроде:
let val : MyOptional<int> = nil;
let raw = val??33; // или как оно должно выглядеть?
Меня снова спросили за Optional