caterwaul
let kCat = ../../Category/Cat/semigroupallet vObject = Typein λ(object : Kind) → λ(cat : ../../Category/Semigroupal/Kind kCat vObject object) → λ(m : object) → { inverse : cat.arrow { _1 = m, _2 = m } } ⩓ ../Type object cat m