値の検証もコンパイラにやらせよう: Scala 3でRefinement TypesやるにはIronっていうライブラリが良さそう - Lambdaカクテル https://blog.3qe.us/entry/2024/02/19/040745
これは単にnullableなら未チェック、non-nullableなら範囲チェック済で安全って方式だけど、Roslynソースジェネレータを使ってnullable用の型とnon-nullable用の型で自動で名前をわけたら、もうちょっと見やすくなりそう><
オレンジが思いついた未チェック型とチェック済型で分ける事で無理やりSPARK/Adaスタイルにしようとする方式ではインクリメントを実装できない(そもそもAdaにはインクリメントが無い(危険だから))という事に気づいて、
GPT-5.2に「ラップアラウンドにするという妥協をするしかない?><;」って聞いたら「絶対にインクリメントを実装するな! あなたが作ろうとしてるものが台無しになる!」に限りなく近い説得をされた><;