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