多相的な関数について、型変数が特定のクラスのインスタンスであるかどうかによって
実装を切替えることってGHC拡張の範囲でできる?