dye :: forall a. (Generic a, GFrom a, All (All Top) (GCode a), GDatatypeInfo a) => a -> IO (Dyed a) Source #
Create a new Dyed
that can be then used with checkDyed
. dye
will
make a Weak
pointer to each field in your type which can be used to
check if any part of the data type is leaking at a later part of the
program.