scala.Nothingは何のためにあるのか

scala.NothingはScalaのクラス階層における、「一番下」に位置するクラスで全ての型のサブタイプになるが、これが何のためにあるかという点でつまづく人が時々居るようだ。というわけで、scala.Nothingがあると何が嬉しいのかという点をちょっと説明してみようと思う。 例外やエラーを投げる式のような、戻ってこない計算…