or型というのかunion型というのか忘れたけど、C#にはなくない?
type a = b | c

(C#にもこの機能欲しい)