What i want to know is if there is already
something like this (and suggestions for improvement of course).

...
 
Sometimes i find myself needing to associate a constant with a type
or, more precisely, with a type class instance.

I'm not sure if this is what you're looking for, but it seems related.

Oleg Kiselyov, Chung-chieh Shan. "Functional pearl: Implicit configurations-or, type classes reflect the values of types," in Haskell 2004. ACM, 2004, pp. 33-44.
http://www.citeulike.org/user/spl/article/313800

Regards,
Sean