data-category-0.0.1: Data/Category/Unit.hs
{-# LANGUAGE TypeFamilies, MultiParamTypeClasses #-}
module Data.Category.Unit where
import Data.Category
-- "1", Singleton category
data family Unit a b :: *
data instance Unit () () = UnitId
instance Apply Unit () () where
UnitId $$ () = ()
instance CategoryO Unit () where
id = UnitId
instance CategoryA Unit () () () where
UnitId . UnitId = UnitId