Description
Reifies arbitrary terms into types that can later be reflected back into terms. This technique lets Haskell code pass values through type-level evidence in controlled situations.
It is useful for advanced APIs, configuration, type-level programming, and libraries that need implicit values without global mutable state. It is a developer library and requires strong Haskell knowledge.