よくわからんけど、型Aが型Aのメンバフィールドを含んでるときに、
型Aがヌル許容型ならどこかでnullにして初期化を止められるけど、
ヌル非許容型なら延々と型Aのインスタンスを初期化し続けなければならないから、
コンパイラはフィールドの定義を辿っていってヌル非許容型の循環を検知したら
エラーを吐かなければならない、ということじゃなかろうか。