caterwaul
let kCat = ../Cat/semigroupalin λ(vObject : Kind) → λ(object : Kind) → λ(cat : ../Kind kCat vObject object) → { constraint = cat.constraint , arrow = λ(a : { _1 : object, _2 : object }) → cat.arrow { _1 = a._2, _2 = a._1 } } : ../Kind kCat vObject object