nullに対応

nullに対応した
え、いまさら?
はい

nullはNull型のインスタンスとした
せやから[Foo | Bar]?[Foo | Bar | Null]シンタックスシュガーになる
CILでは値型にnull入れれへんから、Object型にしてBox/UnBoxする事にした

f:id:zenu:20180409034452p:plain

.NET Frameworkの参照型はnullが無制限で入るから、全部Foo?にするんかい、って所は面倒なのであまりやりたくない
ただ、本当にnullを入れたい時に型が合わんくて代入できなくなるから・・・そのうちやらんといかん