ユーザー定義型ガードで足りると思うが