downcastを整理