This way is pretty simple.
https://github.com/maxpow4h/documentalist/commit/0dfcf2b455714d0c4b29413f92cded21a226659d

I'm not sure if you want to do this. :shrug:

Could do it with template Haskell. :trollface: