型チェックのすりぬけの必要なくeffect systemが作れるレベルで、堅牢かつ柔軟な型システムを持った新しい言語というものは、ひとつあったほうがいいし、それはたぶんHaskellという伝統的な言語の枠組みのなかでやろうとすると、なかなか難しいように思う。
Discussion
https://qiita.com/YoshikuniJujo/items/8dd63c9415ccda20be28
https://qiita.com/YoshikuniJujo/items/3e7adbbbf0e7f73f669f
このあたりの話。
ひとつにまとめるために一度型の情報を消して、でも安全に取り出すために、型の情報を別に追加するという話。
このあたりは、もうHaskellの型システムをハックしてクラックして、だましているので、Haskellの枠組みを超えてしまっている。