2年近く前の話ではあるけども。
小ネタ チェック例外とUnion型 | ++C++; // 未確認飛行 C ブログ https://ufcpp.net/blog/2016/12/tipsuniontypes/
さっきのLangExtの人が書いた「NullableとOptionの違い」 http://langext.github.io/LangExt/cmp_Option_Nullable.html
ていうかnullableもそうだけど、壊れてるんです!><って時に壊れてるにもかかわらず壊れてないかのようにアクセスしちゃうのが問題なわけじゃん?><(nullableの話に置き換えて、壊れてるをnullにするともっとわかりやすい?><)
だったらそれをどうにかできるという意味では、
https://mstdn.nere9.help/@orange_in_space/100898384536870383
の発想でもおk?><
判別共用体 (バリアント) は視覚的にわかりやすくていい感じ - ぐるぐる~
http://bleis-tift.hatenablog.com/entry/20100907/1283832569
空想上の言語…🤔
あーそうだ、名前付き引数使えば match(ok: ..., err: ...) とも書けますね。
http://langext.github.io/LangExt/DesignChoice_Option.html#match%E5%BC%8F%E3%81%AE%E6%A8%A1%E5%80%A3
ResultとかEitherとかMaybe/Optionとか、パターンマッチと組み合わせて値を返せることがひとつの魅力だったりするので、こういう感じになったりする。
https://gist.github.com/unarist/d7fafec38d34cf7e24d1e633fef982c2