Portability | portable |
---|---|

Stability | experimental |

Maintainer | Edward Kmett <ekmett@gmail.com> |

Note the choice of which is universal and which is couniversal is chosen to make the definitions consistent with limits and colimits.

# Documentation

data Couniversal a f x Source

Couniversal (a -> f x) (forall z. (a -> f z) -> x -> z) |

extractCouniversal :: Couniversal a f x -> a -> f xSource

couniversalize :: (a -> f z) -> Couniversal a f x -> x -> zSource

extractUniversal :: Universal a f x -> f x -> aSource

universalize :: Universal a f x -> (f z -> a) -> z -> xSource