template haskellの機能を使ってモジュール内で定義されてる関数の名前全部取得するような事ができるみたいなんだよ
これをどうやって実現してるかというと、どうやら展開時に自分自身が記述されてるファイルをIO使って読み込んで解析してるらしい
よく聞くコンパイルタイムIOという空恐ろしいものはこうやって使うのかといういい実例だと思ったね