Refl is:module

This provides a type-indexed type representation mechanism, similar to that described by,
  • Simon Peyton-Jones, Stephanie Weirich, Richard Eisenberg, Dimitrios Vytiniotis. "A reflection on types". Proc. Philip Wadler's 60th birthday Festschrift, Edinburgh (April 2016).
The interface provides TypeRep, a type representation which can be safely decomposed and composed. See Data.Dynamic for an example of this.
Reifies arbitrary terms at the type level. Based on the Functional Pearl: Implicit Configurations paper by Oleg Kiselyov and Chung-chieh Shan. http://okmij.org/ftp/Haskell/tr-15-04.pdf The approach from the paper was modified to work with Data.Proxy and to cheat by using knowledge of GHC's internal representations by Edward Kmett and Elliott Hird. Usage comes down to two combinators, reify and reflect.
>>> reify 6 (\p -> reflect p + reflect p)
12
The argument passed along by reify is just a data Proxy t = Proxy, so all of the information needed to reconstruct your value has been moved to the type level. This enables it to be used when constructing instances (see examples/Monoid.hs). In addition, a simpler API is offered for working with singleton values such as a system configuration, etc.
This module exports all of the commonly-used functionality of Reflex; if you are just getting started with Reflex, this is probably what you want.
An abstract implementation of reflexive binary relations. Use Algebra.Graph.Class for polymorphic construction and manipulation.
This provides a type-indexed type representation mechanism, similar to that described by,
  • Simon Peyton-Jones, Stephanie Weirich, Richard Eisenberg, Dimitrios Vytiniotis. "A reflection on types". Proc. Philip Wadler's 60th birthday Festschrift, Edinburgh (April 2016).
The interface provides TypeRep, a type representation which can be safely decomposed and composed. See Data.Dynamic for an example of this.
Reflection.
Utility functions to display or manipulate types
Reflect a layout horizontally or vertically.
Use this module to provide an ad-hoc interpreter for a capability using type class reflection. Use the functions interpret_ or interpret for ad-hoc interpretation of capabilities. Refer to Reflected if you would like to enable reflection for a new capability. More complex examples using this module can be found in the Reflection example module. For details on reflection refer to the tutorial at https://www.tweag.io/posts/2017-12-21-reflection-tutorial.html and the reflection library at https://hackage.haskell.org/package/reflection.