switch-castでハンドリングされていなかった箇所を加筆。