Haskellでメタプログラミング
https://lexi-lambda.github.io/blog/2021/03/25/an-introduction-to-typeclass-metaprogramming/