おいおい
パターンマッチが良くて型で分岐するのはダメって意味不明
直和型のパターンマッチなんてまさに型を決め打ちするコードじゃねーか

自分で何言ってるのかわかってんのか?