In real world application I noticed a pattern that could be generalized to something like:
纯写:
class Profunctor p <= Zero p where
pzero :: forall a b. p a b -- such that `forall f g. dimap f g pzero == pzero`
It seems basic enough to have its own name in literature and libraries out there.
So what is its name? (Zero
and pzero
are made up by me.)