- class MuRef a where
- type DeRef a :: * -> *
- mapDeRef :: Applicative m => (a -> m u) -> a -> m (DeRef a u)

- module Data.Reify.Graph
- reifyGraph :: MuRef s => s -> IO (Graph (DeRef s))

# Documentation

`MuRef`

is a class that provided a way to reference into a specific type,
and a way to map over the deferenced internals.

mapDeRef :: Applicative m => (a -> m u) -> a -> m (DeRef a u)Source

module Data.Reify.Graph

reifyGraph :: MuRef s => s -> IO (Graph (DeRef s))Source

`reifyGraph`

takes a data structure that admits `MuRef`

, and returns a `Graph`

that contains
the dereferenced nodes, with their children as `Unique`

rather than recursive values.